[解決済み] リアクトナビゲーションで異なるネストされたスタック間を移動する方法
質問
目標
リアクトナビゲーションを使って、ナビゲータ内の画面から別のナビゲータ内の画面へ移動する。
詳細
以下のようなNavigatorの構造を持っている場合。
-
親ナビゲータ
-
ネストナビゲーター1
- 画面A
- 画面B
-
ネスト・ナビゲーター 2
- 画面C
- 画面D
-
ネストナビゲーター1
ネストされたナビゲーター 2 の画面 D から、ネストされたナビゲーター 1 の画面 A に移動するにはどうしたらよいでしょうか。今、私が試した場合
navigation.navigate
を実行すると、画面Aは存在せず、画面CとDのみが存在するというエラーが発生します。
このサイトでも、GitHubでも、いろんなところでいろんな形で質問されていると思いますが( https://github.com/react-navigation/react-navigation/issues/983 , https://github.com/react-navigation/react-navigation/issues/335#issuecomment-280686611 ) が、これほど基本的なことなのに明確な答えがなく、解決策を探すために何百もの GitHub のコメントをスクロールするのは素晴らしいことではありません。
おそらくこの質問は、この非常に一般的な問題にぶつかっているすべての人のために、これを行う方法を体系化することができます。
どのように解決するのですか?
更新しました。React Navigation v5 に関しては mahi-manさんの回答 .
を使用することができます。
の第三パラメータ
navigate
で、サブアクションを指定します。
例えば、ネストしたナビゲーター2の画面Dから、ネストしたナビゲーター1の画面Aへ移動したい場合。
this.props.navigation.navigate(
'NestedNavigator1',
{},
NavigationActions.navigate({
routeName: 'screenB'
})
)
こちらもご確認ください。 https://reactnavigation.org/docs/nesting-navigators/
関連
-
[解決済み] React NativeとReactの違いは何ですか?
-
[解決済み] React Nativeでアプリ名を変更する
-
[解決済み] Androidのフラットリスト(React Native)でスクロールバーを隠す
-
[解決済み] React Nativeのエラー。"javaのバージョンを'9.0.1'から決定できませんでした。"
-
[解決済み] React Nativeで電話をかけるには?
-
[解決済み] react nativeで<Text>のテキストを大文字にする方法
-
[解決済み] React Native Android ビルドエラー MainActivity.java:29: error: cannot find symbol
-
[解決済み] React Nativeで「リモートデバッガがバックグラウンドのタブにある」という警告を消す。
-
[解決済み] React Nativeのプロジェクト名を変更しますか?
-
[解決済み] React Nativeで画像の高さを自動調整する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] React-Nativeは最初の文字が大文字でないものを書けない
-
[解決済み] TouchableNativeFeedback、TouchableHighlight、TouchableOpacityをいつ使うか?
-
[解決済み] react nativeプロジェクトにインストールされたライブラリを削除する方法
-
[解決済み] React Nativeのグローバルスタイル
-
[解決済み] React Nativeのエラー。"javaのバージョンを'9.0.1'から決定できませんでした。"
-
[解決済み] React Native アニメーション、完全なイベント
-
[解決済み] react nativeで<Text>のテキストを大文字にする方法
-
[解決済み] React Nativeのスタイルはグラデーションをサポートしていますか?
-
[解決済み] Error: Unable to resolve module `react-native-gesture-handler`.
-
[解決済み] React ナビゲーション goBack() と親の状態の更新