3か月以内に比較的大きなクロスプラットフォーム(iOSおよびAndroid)アプリケーションを構築する必要があります。
これまでのところ、React Nativeに関してはNavigatorIOS
の経験しかありません。今では実際に問題に遭遇したことはありませんが、使用を推奨する人はいません。
他のオプションはNavigator
で、これは十分に単純に思えますが、ネイティブUIのサポートをあまり許可しないのでしょうか?そしてNavigatorExperimental
は私が何も知らないので、名前だけで私は心配しています。私は最後の最後の悪夢を持ちたくありません。
私は学習に1か月を費やし、React Nativeを徹底的に学習し、その後2か月でアプリケーションを構築します。
これは私の質問につながります:React Nativeでクロスプラットフォームアプリケーションを構築する必要がある場合、各プラットフォームにどのナビゲーションを使用しますか?
回答やヒントは大歓迎です。
さまざまなオプションについてかなりの量の調査を行い、主なものをすべて自分で試したので、自分の質問に答えました。
新しい編集:今日(2019年3月14日) React Navigation v の使用をお勧めします。これは、Facebookが最も推進しているコミュニティソリューションです。完璧とはほど遠い-始めるのは難しいと思いますし、私の意見ではドキュメントはひどいですが、一度設定すれば仕事は完了です。
それがあなたのためにそれをしていない場合、別の選択肢は react-native-navigation wixによるものです(残念ながらexpoとの互換性はありません)。
native-nagivation by airbnbに注目してください。彼らはしばらくの間ベータ版であり、最近プロジェクトにあまりプッシュされていないので、私はまだReact製品のナビゲーションをお勧めします。(編集:回避-このプロジェクトは- ドロップ 。)
下の元の投稿:
TLDR:今日(2017年1月13日)には、まだ強くお勧めします React Native Router Flux 。 ex-navigation の場合、 Exponent が優れた代替手段となります。
私は自分のプロジェクトにRNRFを使用していますが、これまでのところ完璧です。すばらしいnavbarとスタックのカスタマイズ(これは私にとって大きなことでした)と他のパッケージとの統合が簡単です。
より長いバージョン:(編集:今は古くなっています)
ナビゲーター :回避する必要があります。理由を詳しく述べずに、Facebookがそれを削除し、もはや維持していないという事実私にとっては、別のナビゲーションを選択するのに十分な理由です。
NavigatorIOS :名前が示すように、IOSでのみ使用可能です。これは、クロスプラットフォームアプリケーションを使用している場合にはあまり適していません。スタックすることに関しては、いくつかの違いがあります。それは私にとって、全体を打ち負かすことです 「一度学ぶ、どこにでも書く」 FBが目指していることです。とは言っても、iOSアプリのナビゲーションがtoo複雑でなく、あまり多くのnavbarカスタマイズを探していない場合、これはネイティブUIKitナビゲーションを活用するかなり良い選択です。そのため、戻るボタンとタイトルを含むナビゲーションバーが自動的にレンダリングされます。
NavigationExperimental :私のような名前で怖がらないでください。 NavigationExperimentalは、ナビゲーションスタックを多数制御し、状態管理をはるかに容易にします。サードパーティのライブラリを除き、これはナビゲーションオプションに移動することです。
Ex-Navigation :FacebookのEric Vicentiを引用します。彼はReact Nativeチーム:
以前のナビゲーターと同様の方法でアプリケーション全体をナビゲートするためにメソッド呼び出しを行うことができる、より命令的なアプローチに興味がある場合は、ExNavigationをお勧めします。 Exponentと比較的緊密に連携しているため、これらは危険な方法で発散することはありません。
React Router Native :ドキュメントがすべてを述べています。私が言えるのは、あなたがReactルーターに慣れているなら、これはあなたのためかもしれません。
注目してください: WIXによるReact Native Navigation 。非常にまともに見えますが、 latest バージョンの反応ネイティブ(この回答を書いているとき)に少し遅れているという事実を考えると、私はそれに手を出していません。
興味深いRN Navの読み取り:
Ex-Navigation を使用できます。これはNavigationExperimental
の上に構築され、iOSとAndroidの両方をサポートします。さらに、ルートナビゲーションシステムがあり、Android戻るボタンを正しくサポートしています。
Navigator
JavaScriptコンポーネントを使い続けたい場合は、 react-native-navigator-wrapper
これは、プッシュ、ポップ、モーダルなどの最も一般的なナビゲーションパターンをサポートするNavigator
APIの単純なラッパーです。
react-native-router-flux を使用しており、非常に柔軟です。あなたはそれをチェックアウトできます。
React Navigation 、この領域の新しいプロジェクト。個人的には、Reactメンテナンスされていないネイティブルーターフラックスよりも優れています。
React Navigationには、適切なドキュメントとともに多くの優れた機能があります。人気は急速に高まっています。知る限り、Reactコア開発者コミュニティのメンバーがこのプロジェクトの背後にいます。これをチェックしてください。
編集:Reactナビゲーションが公式のナビゲーションライブラリになりました。
RNライブラリは毎日公開されています。最近のあなたと同じような状況で、ネイティブのwixライブラリが新しいRNバージョンのサポートを開始するまで、ルータフラックスを使い続けることで簡単に選択できます。 (私が覚えているように、さまざまな人々の関与に言及する問題がなくなっているので、かなり活発です)。RNはコンポーネントベースであり、途中で静かに変更を実装するのは静かです。だからあなたが今明確な選択をしているように凝視しないでください:)
React Router Native のみを使用したことがあり、問題はありませんでした。