とあるReact Nativeアプリで「iOSで問題なく動いてるんだけど、Androidの実機で動かすと落ちる…」という事象が発生しました。
実機を繋いで「Android Device Monitor」からログを見つつアプリを操作しているとすぐに再現。
Unsupported top level event type "topScroll" dispatched
というエラーが発生していました。
Issueをエラーメッセージで検索すると、ありました。
2017年10月ごろからずっとやり取りが続いているようで、手強そうな感じです。
根本的な解決は後回しにして、Workaroundな対応でお茶を濁すことにしました。
Issueにあった「ViewPagerAndroid
使えばいいよ」というコメントにしたがって、AndroidではViewPagerAndroid
を使うようにしたところ、無事動きました。
こんな感じです。
{ Platform.OS === 'ios' &&
<ScrollView
horizontal
pagingEnabled
>
・・・
</ScrollView>
}
{ Platform.OS !== 'ios' &&
<ViewPagerAndroid
>
・・・
</ViewPagerAndroid>
}
そろそろAndroidがわからない状態が本気で辛くなってきたので、以下の本で勉強しようと思います。早く発売してほしい!