めっちゃハマったので知見を忘れないように書いておく。
結論: onStartShouldSetResponder
ScrollView
の内側のView
のPropsにonStartShouldSetResponder={() => true}
する
こうなっていればスクロールできるようになるはず。
<TouchableWithoutFeedback> <ScrollView> <View onStartShouldSetResponder={() => true}> {scrollableContents} </View> </ScrollView> </TouchableWithoutFeedback>
style類は割愛している
RNのジェスチャーレスポンダー
RNにおけるイベントバブリング的なシステムのあれという認識をしているけど、こういう概念があってonStartShouldSetResponder
でtrueを返すようにするとタッチ開始時にこの要素がresponderになるらしい。
知らんかったので学びがある。ドキュメントちゃんと読まないとこういうときに無限にハマってしまうのでドキュメントはやはりちゃんと読んでおかないとダメということがわかる。
なお今回もStackOverFlowに助けられた。ありがとうStackOverFlow。