Reactナビゲーション - 別のタブに移動してスタックをリセットする 質問する

Reactナビゲーション - 別のタブに移動してスタックをリセットする 質問する

私は、TabNavigator 内にある StackNavigator から別の StackNavigator にルーティングしようとしています。現在は、次のようにするだけでそこに到達できます。

this.props.navigation.navigate('Screen3')

しかし、そのタブに移動したときにリセットしたいとも思っています。アプリ ナビゲーターは通常、次のように設定されています。

- Main (StackNavigator)
  - LoginScreen
  - MainTabs (TabNavigator)
    - Tab1 (StackNavigator)
      - Screen1
      - Screen2
    - Tab2 (StackNavigator)
      - Screen3
      - Screen4

Screen3StackNavigatorに移動してリセットするにはどうすればよいでしょうか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');

がここにありますスナック

おすすめ記事