私は、TabNavigator 内にある StackNavigator から別の StackNavigator にルーティングしようとしています。現在は、次のようにするだけでそこに到達できます。
this.props.navigation.navigate('Screen3')
しかし、そのタブに移動したときにリセットしたいとも思っています。アプリ ナビゲーターは通常、次のように設定されています。
- Main (StackNavigator)
- LoginScreen
- MainTabs (TabNavigator)
- Tab1 (StackNavigator)
- Screen1
- Screen2
- Tab2 (StackNavigator)
- Screen3
- Screen4
Screen3
StackNavigatorに移動してリセットするにはどうすればよいでしょうかTab2
?
私もこれを試してみましたが、効果はありませんでした:
let resetAction = NavigationActions.reset({
index: 0,
key: 'Tab2',
actions: [
NavigationActions.navigate({ routeName: 'Screen3' })
],
});
this.props.navigation.dispatch(resetAction);
ベストアンサー1
2 つのナビゲーション アクションをディスパッチする必要があります。1 つは現在のタブのスタックをリセットし、もう 1 つは次の画面に移動します。
let resetAction = StackActions.reset({
index: 0,
actions: [
NavigationActions.navigate({ routeName: 'Screen1' })
],
});
this.props.navigation.dispatch(resetAction);
this.props.navigation.navigate('Screen3');
がここにありますスナック