私は現在自分のプロジェクトに悩まされています。ネストされたナビゲータがたくさんあり、ナビゲートする前にリセットする方法がわかりません。TabBarルートを押した後にスタックをリセット
は、ここに私のナビゲーター構造です:
- MainNavigator
- TabBarNavigator
- StackNavigator A
- 画面A(画面Xは同じである) - > Xの画面に移動
- 画面B
- StackNavigator B
- 画面C - > X
- 画面にナビゲート画面D
- StackNavigator C
- 画面E - > X を画面に移動
- 画面F
- StackNavigator D
- StackNavigator A
- 他の成分
- TabBarNavigator
iは画面Aから画面Xに移動だときに、私はまだ他のナビゲーター(B、C、D)に移動することができtabBarはまだ存在し、それは良いですから。 しかし、ナビゲータAで画面Xを開いた後、ナビゲータBの画面にナビゲートすると、Navigator AIが現時点で画面Aに着陸し、画面Xに着陸しないようにします(画面XはそれでもNavigator Aのスタックの上にあります)。再開するに
は、私のNAVはactualy行います - ナビゲーターA - >画面A - >画面のX - >ナビゲータB - >画面B - >戻るナビゲーターAへ移動しますが、画面上の土地X
と私 - ナビゲータA - >画面A - >画面X - >ナビゲータB - >画面B - >ナビゲータAに戻り、画面Aに移動
私はこれを私の画面Xナビゲーションオプションですが、ナビゲータAでのみ機能します:
tabBarOnPress:() => {
navigation.goBack(navigation.state.key)
},
私は今これに執着しているので、何か助けていただければ幸いです。
が反応:16.0.0
はネイティブリアクト:https://github.com/expo/react-native/archive/sdk-23.0.0.tar.gz
は、ナビゲーションに反応:^ 1.0.0ベータ。あなたが見つけるreset
方法の一例で
https://reactnavigation.org/docs/navigators/navigation-actions
:
import { NavigationActions } from 'react-navigation'
const resetAction = NavigationActions.reset({
index: 0,
actions: [
NavigationActions.navigate({ routeName: 'Profile'})
]
})
this.props.navigation.dispatch(resetAction)
19 Reduxの統合により
現在のiOSシミュレータ上で作業
をdicussedされますか?可能であれば、それを統合してルートを管理することができます:https://reactnavigation.org/docs/guides/redux –
私はreduxを使用しますが、この見た目からここでどのように役立つか理解するのは苦労します「古典的な」ナビゲーション問題のように。 – Clonescody