在我的 React Native 项目中,我希望用户导航到登录页面。并且,在登录页面上,用户可以填写输入以登录。然后,如果登录过程成功,用户应导航回主页。
我正在使用这个.props.navigation.naving功能进行所有导航。但是在登录页面上,导航功能无法按预期工作。它的工作方式类似于goBack函数。这样我就无法更新主页的状态。
我应该怎么做才能让导航功能始终以它的工作方式工作?
解决方案
使用Modal
.(推荐(
使用带有Modal
选项的createStackNavigation
包裹homeStack
和AuthStack
。 或使用createSwitchNavigation
.
const MainStack = createStackNavigator(
{
Home: {
screen: HomeStack,
},
Auth: {
screen: AuthStack,
},
},
{
mode: 'modal',
}
);
或
使用"推送"或"替换"而不是"导航"可以是其他选项。
为什么?
即使您在stackNavigation中使用navigate
,如果屏幕已经堆叠为进程主页>登录>主页,它也goBack
工作。因此,使用modal
可以是一种简单而酷的方法。
模态:https://reactnavigation.org/docs/en/modal.html