本文へスキップ

React Native 0.69 リリースのお知らせ

·読了時間4分
Marek Fořt
Marek Fořt
Shopifyソフトウェアエンジニア
Nicola Corti
Nicola Corti
Metaソフトウェアエンジニア

React Nativeの新しいバージョン0.69.0をリリースできることを嬉しく思います。このバージョンには、React Nativeの新しいアーキテクチャに関するいくつかの改善と、React 18のサポートとバンドルされたHermesなどの新機能が含まれています。詳細については、読み進めてください!

セクション

React 18

React Native 0.69は、React 18をサポートする最初のリリースであることをお知らせできることを嬉しく思います。React 18には、useIdなどの新しいフックのような多くの改善がもたらされました。さらに、React 18には、useTransitionや完全なSuspenseサポートなどの新しい同時実行機能が含まれています。

React Native 0.69では、React 18はデフォルトで有効になっています。ただし、新しいアーキテクチャに移行していない場合は、同時レンダリングと同時実行機能を使用しない機能のみを利用できます。新しいアーキテクチャは同時レンダリングを念頭に置いて構築されていますが、古いアーキテクチャへのそのサポートを追加することはできません。

React NativeでのReact 18サポートの詳細については、こちらをご覧ください。

バンドルされたHermes

このリリース以前は、HermesとReact Nativeは別々にリリースされていました。そのため、どのバージョンのHermesがどのバージョンのReact Nativeと互換性があるのかという混乱が生じていました。この問題を解決するために、React Native 0.69から、互換性のあるバージョンのHermesをReact Nativeと一緒に提供します。この変更により、React NativeでのHermesの使用がはるかに安定します。

適切なバージョンのHermesの使用はReact Nativeによって処理されますが、アップグレードヘルパーの手順に従って、統合が意図したとおりに機能することを確認してください。まだHermesを有効にしていない場合は、こちらの手順に従って有効にすることができます。他のJavaScriptエンジンを引き続きサポートしますが、最高のエクスペリエンスを得て、より良いサポートを提供できるようにするために、すべての人がHermesに移行することをお勧めします。

Androidの新しいアーキテクチャを使用しているユーザーは、**Hermesをソースからビルドする**必要があります。ソースからHermesをビルドするには、Windowsユーザーはさらにこれらの手順に従う必要があります。

React NativeがHermesをバンドルする方法の詳細については、こちらの詳しいドキュメントをご覧ください。

新しいアーキテクチャ

AndroidとiOSの両方で新しいアーキテクチャのロールアウトを継続しています。まだアプリまたはライブラリに移行していない場合は、こちらの手順に従ってください。新しいアーキテクチャに関するツールとリソースの最新のアップデートも読むことができます。

0.69のハイライト

前述のように、このリリースにおける最も重要な改善点は、React 18のサポートとバンドルされたHermesを中心に展開されています。ただし、他にも注目すべき変更があります。

破壊的変更

いくつかの破壊的変更もありました。

  • React Native CLIが8.0の新しいメジャーバージョンにアップグレードされました。
    • linkコマンドとunlinkコマンドが自動リンクに置き換えられました。
    • 非推奨のinitCompatが削除されました。代わりにinitコマンドを使用してください。
    • 非推奨のrun-androidプロパティが削除されました。
    • installコマンドとuninstallコマンドが削除されました。
    • react-native.config.jsからアセットとフックが削除されました。設定からこれらのプロパティを削除する必要があります。
    • podspecPathがiOS依存関係設定から削除されました。
    • run-iosから--project-pathオプションが削除されました。
    • Xcodeプロジェクトを探すことからPodfileを探すことにiOSソースディレクトリの検出方法が変更されました。
  • console.disableYellowBoxのサポートが削除されました
  • 既に非推奨のプロパティタイプが削除されました(cdfddb4dad3e229f27bc10199b1581)。
  • RN 0.65以降非推奨のremoveListenerは、Appearanceから削除されました
  • SegmentedComponentIOSを使用していた場合は、サードパーティライブラリ(例:segmented-control)に置き換える必要があります(235f168574)。

アップグレード

いくつかの依存関係をアップグレードしました。

変更点の完全なリストは、変更ログでご確認いただけます。

謝辞

80名の貢献者による629件のコミットが、このリリースを可能にしました - 皆様に感謝いたします!

また、リリースのテスト、サポート、そしてこのリリースが可能な限り安定したものとなるようフィードバックを提供してくださった皆様にも感謝申し上げます。