2017-05-28 5 views
0

StackNavigatorの画面から別のStackNavigatorの画面にユーザを送信したいのですが、いずれもTabNavigatorにネストされています。ネストされたナビゲータから別のナビゲーションナビゲータへディスパッチ

私は

const MainNavigator = TabNavigator({ 
    FirstTab: { screen: StackNavigator1 }, 
    SecondTab: { screen: StackNavigator2 }, 
}); 

StackNavigator1としての私のTabNavigatorが画面ScreenA

const StackNavigator1 = StackNavigator({ 
    ScreenA: { screen: ScreenA }, 
    ScreenB: { screen: ScreenB }, 
}); 

StackNavigator2を持っている持っているのであれば、私は、ユーザーを送信したいScreenC

const StackNavigator2 = StackNavigator({ 
    ScreenC: { screen: ScreenC }, 
    ScreenD: { screen: ScreenD }, 
}); 

画面を持っています前のm ScreenA~ScreenC

私は

const resetAction = NavigationActions.reset({ 
    index: 0, 
    actions: [NavigationActions.navigate({ routeName: 'ScreenC' })], 
}); 
this.props.navigation.dispatch(resetAction); 

のようなものを使用する必要がありますが、私は恐れてStackNavigator1ScreenAScreenCStackNavigator2中を知らないので、私はreact-reduxを使用する必要があります推測しますか?

答えて

0

私はまったく同じ問題を抱えていました。私はそれを解決した。私はそれが実装の詳細に依存するかどうかわからない。

基本的にネストされたナビゲータにrefが表示されます。その後、this.ref._navigation.***に電話することができます。あなたが渡すことができImplementation detail worries - Calling navigate on nested Navigator

そのrefしたいの周りのように乱暴として - - ここで

は、私はそれをしなかったかであるような他の多くのナビゲーターに。しかし、実際にはrefを渡さないで、this.ref && this.ref._navigation.navigateのように必要な機能を渡してください。

関連する問題