首页 > 解决方案 > 在 navigation.navigate (React Native) 中合并有什么作用?

问题描述

我不明白mergenavigation.navigate 中的作用

navigation.navigate({
   name: 'Home',
   params: { post: postText },
   merge: true,
});

代码参考取自https://reactnavigation.org/docs/params/

标签: reactjsreact-nativereact-navigation

解决方案


想象一下,您正在BlogPage使用以下参数调用的路线或屏幕上

{ 标题:'一个标题',作者:'keysl' }

然后您使用导航到不同的博客文章

navigation.navigate({
  name: 'BlogPage',
  params: { title: 'B title' },
});

所以在 Navigation 5 之前,默认是合并这个,所以上面的代码会产生一个带有参数的页面,比如

{
  title: 'B title',
  author: 'keysl' // note that keysl is not passed at the code below
}

这并不理想并且容易混淆。因此,React Navigation 团队删除了这个默认设置。虽然它在不同的情况下很有用。

现在为了复制上面merge:true介绍的功能。

我找不到迁移声明,但这就是它的要点


推荐阅读