React Navigation Navigate 的工作方式类似于 goBack



在我的 React Native 项目中,我希望用户导航到登录页面。并且,在登录页面上,用户可以填写输入以登录。然后,如果登录过程成功,用户应导航回主页。

我正在使用这个.props.navigation.naving功能进行所有导航。但是在登录页面上,导航功能无法按预期工作。它的工作方式类似于goBack函数。这样我就无法更新主页的状态。

我应该怎么做才能让导航功能始终以它的工作方式工作?

解决方案

使用Modal.(推荐(

使用带有Modal选项的createStackNavigation包裹homeStackAuthStack。 或使用createSwitchNavigation.

const MainStack = createStackNavigator(
{
Home: {
screen: HomeStack,
},
Auth: {
screen: AuthStack,
},
},
{
mode: 'modal',
}
);

使用"推送"或"替换"而不是"导航"可以是其他选项。

为什么?

即使您在stackNavigation中使用navigate,如果屏幕已经堆叠为进程主页>登录>主页,它也goBack工作。因此,使用modal可以是一种简单而酷的方法。

模态:https://reactnavigation.org/docs/en/modal.html

最新更新