如何重置堆栈导航器,然后导航至Tab导航器中的Tab?

时间:2018-07-13 21:18:30

标签: javascript reactjs react-native react-navigation react-native-ios

我的代码如下

onPress={() => {
  const resetAction = StackActions.reset({
    index: 0,
    key: "Tab1",
    actions: [navigation.navigate({ routeName: "Tab1" })]
  });

  navigation.dispatch(resetAction);
}}

我想通过重置堆栈从堆栈导航器的第二个屏幕导航到Tab1。我没有为此使用Redux。以当前的方式,我可以重置堆栈或移动到Tab1页面(将其作为堆栈上的单独屏幕添加)。 我想先重置堆栈,然后再转到Tab1屏幕。有什么办法可以做到这一点?

1 个答案:

答案 0 :(得分:0)

这是我成功的例子

该代码将打开两个屏幕,并根据indexindex判断要显示在前面的屏幕0:显示第一个屏幕,index 1:显示第二个屏幕( tab1屏幕将显示在这里)

希望它对您有所帮助

import { NavigationActions } from 'react-navigation';

const resetAction = NavigationActions.reset({
  index: 1,
  actions: [
    NavigationActions.navigate({ routeName: 'home' }),
    NavigationActions.navigate({ routeName: 'Tab1' })
  ]
})

this.props.navigation.dispatch(resetAction);