React Navigation vs. React Native Navigation [关闭]

问题描述 投票:54回答:3

我只是想知道关于在React Native中实现导航的这两个解决方案的诚实,经验和客观的观点:

哪个更好?为什么。谢谢

performance react-native react-navigation react-native-navigation
3个回答
65
投票

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

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

如果您更喜欢全JS实现,请使用react navigation,如果您的最高优先级在于性能,则使用本机导航。

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

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

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

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


1
投票

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


0
投票

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

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

因此,如果您从View Hierarchy控制台打开应用程序,您将看到一个很大的区别(React Navigation包含一堆奇怪的组件,如多个标题或标签栏,树也很难理解)。

© www.soinside.com 2019 - 2024. All rights reserved.