Reactjs 在React Navgiation 3中,如何将屏幕从不同的堆栈推送到调用屏幕
我正在使用react导航3。我有以下路由器:Reactjs 在React Navgiation 3中,如何将屏幕从不同的堆栈推送到调用屏幕,reactjs,react-native,react-navigation,Reactjs,React Native,React Navigation,我正在使用react导航3。我有以下路由器: const StackA = createStackNavigator( { MainA: MainA, AddA: AddA, }, { initialRouteName: 'MainA' } ); const StackB = createStackNavigator( { MainB: MainB, DetailsB: DetailsB, }, { initialRouteName: 'Ma
const StackA = createStackNavigator(
{
MainA: MainA,
AddA: AddA,
},
{
initialRouteName: 'MainA'
}
);
const StackB = createStackNavigator(
{
MainB: MainB,
DetailsB: DetailsB,
},
{
initialRouteName: 'MainB'
}
);
const TabNav = createBottomTabNavigator(
{
A: StackA,
B: StackB
}
)
我在屏幕DetailsB
中,我想推一个AddA
屏幕。根据文档,我可以导航到StackA
,并使用导航操作和StackActions按下AddA
屏幕,如下所示:
const navigateAction = NavigationActions.navigate({
routeName: 'StackA',
params: {},
action: StackActions.push({
routeName: 'AddA',
params: {
someParam: someData,
}
})
});
this.props.navigation.dispatch(navigateAction);
AddA
屏幕上有一个取消按钮,我想弹出屏幕并返回到DetailsB
屏幕。如果我在AddA
中使用StackActions.pop()
,它会弹回到MainA
屏幕
关于如何实现这一点有什么指导吗?直接使用
StackB
中的AddA
屏幕是否有问题?像这样:{MainB:MainB,DetailsB:DetailsB,AddB:AddA},
老实说,我没有想过这种方法。让我试试看,很好用。这显然是一个解决办法。当一个人站在森林附近时,他只能看到一棵树。。。谢谢。直接使用StackB
中的AddA
屏幕有问题吗?像这样:{MainB:MainB,DetailsB:DetailsB,AddB:AddA},
老实说,我没有想过这种方法。让我试试看,很好用。这显然是一个解决办法。当一个人站在森林附近时,他只能看到一棵树。。。谢谢