我是 React Native 的新手,目前正在学习 React Native Navigation Docs 。我想知道: navigation.push()
和 navigation.navigate()
有什么区别?
我试着自己找出来,但他们似乎完成了完全相同的事情……
原文由 J. Hesters 发布,翻译遵循 CC BY-SA 4.0 许可协议
我是 React Native 的新手,目前正在学习 React Native Navigation Docs 。我想知道: navigation.push()
和 navigation.navigate()
有什么区别?
我试着自己找出来,但他们似乎完成了完全相同的事情……
原文由 J. Hesters 发布,翻译遵循 CC BY-SA 4.0 许可协议
根据 这里 的最后一篇博客文章:对于 v1:
navigate(routeName) and push(routeName) were very similar: every time you called navigate(routeName) it would push a new route to the stack.
对于 v2:
Now navigate(routeName) will first try to find an existing instance of the route and jump to that if it exists, otherwise it will push the route to the stack.
导航 > 转到页面实例(如果存在)或推送新实例
push > 推送一个新实例,即使一个已经存在
原文由 Poptocrack 发布,翻译遵循 CC BY-SA 4.0 许可协议
1 回答1.6k 阅读✓ 已解决
2 回答1.2k 阅读✓ 已解决
2 回答1k 阅读✓ 已解决
2.3k 阅读
1 回答633 阅读✓ 已解决
932 阅读
891 阅读
如果您查看
push
的文档,则会解释它们的不同之处。我们可以以 Instagram 为例;
考虑导航到用户的个人资料。然后您可以检查用户的关注者,然后您也可以导航到他们的个人资料。如果您只使用
navigate
操作执行相同的操作,当您从关注者列表屏幕单击用户的个人资料时,将导航到上一个个人资料,但如果您使用push
它将推送一个堆栈的新屏幕并显示正确的配置文件。这样你就可以goBack
到第一个屏幕。