反应导航返回无法正常工作



我有一个堆栈导航器,定义如下

const navigator=StackNavigator(
{
    HomeScreen:{screen:Home},
    newUserScreen1:{screen:newUser1},
    newUserScreen2:{screen:newUser2},
},
routeOptions
);

这就是定义初始状态的方式

initialState=Navigator.router.getStateForAction(Navigator.router.getActionForPathAndParams('HomeScreen');

我可以从家里转到newUserScreenOne,从newUserScreen1调用navigation.back()会将我带回家,但是当我从newUserScreen1转到newUserScreen2时,呼叫navigation.back()会将我带回HomeScreen。我的理解是,屏幕在堆栈导航器中堆叠在一起,因此从newUserScreen2调用back()应该显示newUserScreen1。我错过了什么吗?任何帮助将不胜感激。

由于问题发生在从Home > Screen1 > Screen2 ,您应该深入了解如何导航到每个。你在做类似的事情吗...

从家里:

this.props.navigation.navigate('newUserScreen1', {name: 'New User'});

从屏幕 1:

this.props.navigation.navigate('newUserScreen2', {name: 'New User'});

从屏幕 2:

this.props.navigation.goBack(null);

如果您如上所述导航,我认为它应该适合您。

请注意,您还可以指定要"goBack"的特定键,以便更好地控制返回哪个屏幕。有关更多信息,请参阅 React 导航文档 |goBack()

相关内容

  • 没有找到相关文章

最新更新