React Navigation vs. React Native Navigation

时间:2017-05-24 02:05:34

标签: performance react-native react-navigation react-native-navigation

我只是想知道关于这两个源的真实,经验和客观的观点,以实现React Native中的导航:

哪个更好,为什么。感谢

3 个答案:

答案 0 :(得分:63)

名称

React Native Navigation使用带有JS桥的本机模块,因此性能将会更好/更好。需要原生集成。

虽然React Navigation是一个简单而强大的解决方案,由本机本身提供。它是一个全不同的JS实现,使用本机支持,这可能很棘手。只需npm-install,您就可以了...

如果您更喜欢所有JS实施,请使用反应导航,如果您的最高优先级位于效果,则使用原生导航。

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

更新:两个库都经历了剧烈的变化并进入了下一个稳定版本。反应导航现在更加稳定和高效。但是如果你必须在js中处理复杂的计算,那就去做本地导航。但在大多数情况下,反应导航将对你有用!

更新2 :随着react-native-screens的出现,通过引入原生导航组件(适用于iOS的UIViewController和适用于Android的FragmentActivity),本机屏幕优化可实现反应导航Refer here

对于那些从用户体验视图中查看的人来说,两者都提供了几乎相同的动画和流程,因此您无法知道幕后使用的是什么。主要区别在于本机方面可以提高性能(这对于更好的用户体验至关重要)

答案 1 :(得分:0)

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

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

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

答案 2 :(得分:0)

您应该尝试the Navigation router。它提供了两全其美的优势:iOS和Android上的100%本机导航以及本机屏幕堆栈的JavaScript数组表示。