答案 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数组表示。