React导航与React Native导航[关闭]


76

我只想了解关于这两个方面的诚实,经验丰富和令人反感的观点,以便在React Native中实现导航:

哪个更好?为什么。谢谢


Answers:


84

顾名思义,React Native Navigation将本机模块与JS桥一起使用,因此性能将会/可能会更好。需要本地集成。

虽然React Navigation是react native本身提供的一种简单而强大的解决方案。它是一个全JS实现,与其他使用本机支持的实现不同,这很棘手。只是npm-install,你很好走...

如果您希望使用全部JS实现,请使用react导航;如果您的首要任务是性能,请使用本机导航。

  • 两个库都经历了巨大的变化,并进入了下一个稳定版本。反应导航现在更加稳定和高效。如果您必须处理js中的复杂计算,请进行react-native-navigation。但在大多数情况下,反应导航将为您服务!
  • 随着的到来反应母语屏,本机屏幕优化可能带来的通过将本地导航组件(针对的UIViewController iOS和FragmentActivity为Android)反应导航这里指

对于那些从用户体验角度看的人来说,两者都提供了几乎相同的动画和流程,因此您不知道幕后使用了什么lib。主要区别在于可以改善性能的本机端(这对于改善用户体验至关重要)

这两个库都是React Native的最佳导航解决方案之一。根据您的需要/偏好使用它。


15
考虑到React Navigation在今天仍然beta全恼人的bug,考虑到稳定了。对于我的担心,我感到很失望React Navigation,我会尝试的React Native Navigation。是的,浪费时间...如果只有Facebook给我们一点时间,然后再离开导航器...
MacKentoch

6
react-native-navigation很棒。反应导航缺乏非常关键的生命周期方法,例如isFocused或onLeave。
Jeungmin Oh,


1
对于用户体验是否存在相关差异,答案没有任何提示。更好的性能并不意味着用户可以察觉到差异,因此我仍然不确定这些选项之间用户是否存在真正差异,这就是我想知道的。
jacmkno

1
@ optim1st错误!您可以将redux与最新版本一起使用。确保遵循说明示例回购协议:github.com/victorkvarghese/react-native-boilerplate
Wolverine


2

通过使用本机控制器包装每个屏幕来使用本机导航来响应本机导航。因此,性能由本机领域优化。您要实现的区域位于标题和标签栏的内部。

React Navigation是纯js实现。它使用React-native根视图作​​为容器视图。每个屏幕都位于根视图层次树下。

因此,如果从View Hierarchy控制台打开该应用程序,则会看到很大的不同(React Navigation包含一堆奇怪的组件,例如多个标题或选项卡栏,树也很难理解)。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.