我在我的本机项目中使用react-navigation V2作为导航库。我在同一堆栈上有3个屏幕:
const CardStackNavigator = createStackNavigator(
{
ScreenA: { screen: ScreenA },
ScreenB: { screen: ScreenB },
ScreenC: { screen: ScreenC }
},
navigatorConfig);
});
如何从“屏幕A”导航到“屏幕C”并安装“屏幕B”,以防万一我从“屏幕C”返回到“屏幕B”,请尝试使用在导航中分派:
const resetAction = StackActions.reset({
index: 1,
actions: [
NavigationActions.navigate({ routeName: 'ScreenB' }),
NavigationActions.navigate({ routeName: 'ScreenC' }),
],
});
this.props.navigation.dispatch(resetAction);
我不想做一个reset
,因为它会对动画产生奇怪的影响,并且除了不想再安装所有屏幕外,我的想法只是使用{ {1}}的功能如下:
navigate
但仅支持以下操作:重置,替换,推动,弹出,弹出顶部。
堆栈操作参考: https://reactnavigation.org/docs/en/stack-actions.html