JavaScript
reactjs
reactnative

【ReactNative】「scrollview has no proptype for native...」と表示される場合の対処

概要

ReactNativeで次のようなエラーが出てアプリが実行できない場合の
対処について。

scrollview has no proptype for native prop RCTScrollView.
onScrollAnimationEnd of native type BOOL .
if you havent changed this prop yourself this usually means 
that your versions of the native code and javascript code 
are out of sync. Updating oth should make this error go away.
(見やすいように改行しています)

原因の一つとして
react-nativereactexpo」それぞれ3つのパッケージの
バージョンが対応していない場合にこのエラーが吐き出されるようです。

対処

参考リンク - https://github.com/react-community/create-react-native-app/blob/master/VERSIONS.md

以下に対応バージョン表を転載しておきます。

react-native react expo sdkVersion in app.json
0.41.x 15.4.x 14.x.x "14.0.0"
0.42.x 15.4.x 15.x.x "15.0.0"
0.43.x 16.0.0-alpha.6 16.x.x "16.0.0"
0.44.x 16.0.0-alpha.6 17.x.x "17.0.0"
0.45.x 16.0.0-alpha.12 18.x.x "18.0.0"
0.46.x 16.0.0-alpha.12 19.x.x "19.0.0"
0.47.x 16.0.0-alpha.12 20.x.x "20.0.0"

例えばreact-native@0.46.*を使っている場合

react@16.0.0-alpha.12expo@19.x.xのインストールが動作要件となります。
そしてapp.jsonのsdkversionキーの部分も19.0.0と記述しましょう。

{
  "name": "YOUR-APP-NAME",
  "displayName": "YOUR-APP-NAME",
  "expo": {
    "sdkVersion": "19.0.0"
  }
}

参考リンク - https://github.com/react-community/create-react-native-app/blob/master/VERSIONS.md