我有一个由createBottomTabNavigator
创建的TabNavigator
createBottomTabNavigator({
Tab1: View1,
Tab2: createStackNavigator({
SubScreen1: View2,
SubScreen2: View3
}),
Tab3: createStackNavigator({
SubScreen3: View4,
SubScreen4: View5,
SubScreen5: View6
}),
})
现在假设我在Tab3
上,在SubScreen3
上做一些事情,然后按next
,与SubScreen4
,next
相同,然后现在我在Tab3/SubScreen5
上,并且我想this.props.navigation.navigate('Subscreen 2')
正常工作,但是当我再次去Tab3
时,它仍然在SubScreen5
上。
我想要的是每次我转到其他标签时将Tab3
重新设置为SubScreen3
。
我试图
navigation.dispatch(
StackActions.reset(
{
index:0,
actions:[NavigationActions.navigate('SubScreen2')]
})
);
但这没用。
答案 0 :(得分:1)
我认为这是因为SubScreen2尚未在堆栈中。试试这个。
navigation.dispatch(
StackActions.reset(
{
index:0,
key: null,
actions:[NavigationActions.navigate({
routeName: 'Tab2',
action: NavigationActions.navigate({routeName: 'SubScreen2'})
})]
})
);