⚛️ React Native 0.60 is out! Accessibility improvements, AndroidX, CocoaPods, Autolinking for native modules, a new app screen and upgrade helpers.
— React Native (@reactnative) 2019年7月3日
Read more on our blog: https://t.co/CgeH6rgXsu
昨日ReactNative v0.60が出たらしいので公式のブログやCHANGELOGを見ながら変更点をまとめます。
参考にしたのはこのへん。
Announcing React Native 0.60 · React Native
releases/CHANGELOG.md at master · react-native-community/releases
A11Y(Accessibility)対応
- なんかいろいろAPIが使いやすくなったみたい。
てかi18nとかA11Yとか変な略し方するのやめろ- 正直アクセシビリティ対応はやったことないので、現状のAPIがどうなってるかとか把握してないです。。。
イントロ画面が変わった
プロジェクトを作成した時に表示される画面が代わりました。
いい感じ。
今までのイントロ画面はApp.jsに直接書かれてましたが、流石にこの分量だとそうもいかないようで、react-native/Libraries/NewAppScreen
からimportする形で書かれていました。
AndroidX対応
これが今回のアップデートの目玉っぽいのですが、そもそもAnrdoidXがわからなかったのでざっくり調べると、
どうやら、Androidの下位互換性を維持するためのライブラリであるSupportLibraryを置き換えるものっぽいということがわかりました。(ネイティブの知識がかなり薄いのでこの辺の補足をしていただける方を募集しております…)
This is a breaking change, and your native code and dependencies will need to be migrated as well.
と書いていたので、NativeModulesを使っているライブラリを入れていたりする場合は、ライブラリの対応を待ってからでないとRN v0.60へのアップデートは難しいのかもしれないですね。
Coreからいろいろ除外してるらしい
Coreライブラリから
- WebView
- NetInfo
- Geolocation
が除外されました。(v0.59時点で削除予定とドキュメントに書いてました)
今後はreact-native-communityのものを使用することが公式で推奨されています。
どれくらいうまくいくかは未知数ですが、移行ツールもあるようです。
その他たくさんのBugFix
CHANGELOG見るとよくわかるのですが、たくさんBugFixが入っているみたいです。一度目を通しておいた方がいいかもしれないですね。