react-native - React Navigation 导航的工作方式类似于 goBack
问题描述
在我的 React Native 项目中,我希望用户导航到登录页面。并且,在登录页面,用户可以填写输入进行登录。然后,如果登录过程成功,用户应该导航回主页。
我正在使用 this.props.navigation.navigate 函数进行所有导航。但是在登录页面,导航功能并没有像我预期的那样工作。它的工作方式类似于 goBack 函数。这样我就无法更新主页的状态。
我应该怎么做才能让导航功能始终如一地工作?
解决方案
解决方案
使用Modal
. (推荐)
用一个选项包装你的homeStack
和AuthStack
使用。或使用.createStackNavigation
Modal
createSwitchNavigation
const MainStack = createStackNavigator(
{
Home: {
screen: HomeStack,
},
Auth: {
screen: AuthStack,
},
},
{
mode: 'modal',
}
);
或者
使用“推送”或“替换”而不是“导航”可以是其他选项。
为什么?
如果屏幕已经堆叠为您的进程 home->login->home ,goBack
即使您在 stackNavigation 中使用它也可以正常工作。navigate
因此,使用modal
可以是一种简单而酷的方式。
推荐阅读
- azure-devops - 更改个人资料附加的电子邮件地址
- php - 如何使用 Azure 和 IIS 保护和验证整个 Web 文件夹
- cookies - 无法在 Safari 13 中跨 .test 子域共享 cookie
- php - 扩展 woocommerce_cart_item_price 挂钩以反映订单和电子邮件的变化
- python - 从列表Python中的字符串中删除尾随空格
- regex - 匹配可选的第二组的正则表达式
- bootstrap-4 - Bootstrap Navbar 在不同浏览器中的行为不同
- sql - 显示出现 n 次以上的外键 id
- javascript - Expo React Native - 在渲染应用程序之前获取所有数据
- javascript - 如何使用条件 setState 并将该值赋予 React Native 中的另一个组件?