android - react 原生 : Which navigator should I use?

标签 android ios react-native react-native-navigation

我必须在 3 个月内构建一个相对较大的跨平台(iOS 和 Android)应用程序。

到目前为止,在 React Native 方面,我只有 NavigatorIOS 的经验。现在,虽然我从未真正遇到过任何问题,但我从未见过有人推荐使用它。

其他选项是 Navigator,这看起来很简单,但可能不允许太多原生 UI 支持?和我一无所知的 NavigatorExperimental,光是这个名字就让我很担心。我不想在最后一刻做噩梦。

我计划用一个月的时间彻底学习 React Native,然后用 2 个月的时间构建应用程序。

这引出了我的问题:如果您必须在 React Native 中构建一个跨平台应用程序,您会为每个平台使用哪个导航,为什么?

非常感谢任何答案或提示。

最佳答案

回答我自己的问题,因为我已经对那里的不同选项进行了大量研究,并亲自尝试了所有主要选项。

新编辑: 从今天(2021 年 12 月)开始,我建议使用 React Navigation v6 .这是 Facebook 最推崇的社区解决方案。 V5 重写是一个完整的游戏规则改变者,远远优于以前的版本,V6 建立在它之上。大多数时候,易于设置和实现简单/复杂的堆栈是轻而易举的事。

如果这对您不起作用,另一种选择是 react-native-navigation通过 wix(不幸的是,与 expo 不兼容)。



关注 native-nagivation通过airbnb。它们已经处于测试阶段了一段时间,并且最近没有向项目推送太多内容,所以我仍然建议使用 React Navigation 作为产品。 (编辑:避免 - 这个项目是 dropped 。)



原帖如下:

TLDR:截至今天(2017 年 13 月 1 日),我仍然强烈建议 React Native Router Flux .与 ex-navigation , 由 Exponent是一个很好的选择。

我一直在我的项目中使用 RNRF,到目前为止它非常完美。出色的导航栏和堆栈自定义(这对我来说很重要)并且易于与其他软件包集成。


加长版:(编辑:现已过时)

Navigator :要避免。不详细说明原因,Facebook 已经放弃它并且不再维护它的事实对我来说是选择另一个导航的足够大的理由。

NavigatorIOS :顾名思义,仅在 IOS 上可用,如果您要使用跨平台应用程序,这不是很好。在堆叠方面有一些不同之处,对我来说,它胜过整个 'learn once, write anywhere' FB 的目标。 话虽如此,如果您的 iOS 应用程序的导航不是复杂,并且您不需要太多的导航栏自定义,这是一个相当不错的选择,它利用了原生 UIKit 导航,因此会自动呈现带有后退按钮和标题的导航栏。

NavigationExperimental : 不要像我一样被它的名字吓到。 NavigationExperimental 对导航堆栈有很多控制,并允许更轻松的状态管理。不包括第 3 方库,这是转到导航选项。

Ex-Navigation : 我只引用 Facebook 的 Eric Vicenti,他是 React Native 团队的成员:

If you are interested in a more imperative approach, where you can sort of make method calls to navigate throughout your application in a way similar to the previous Navigator, then I would definitely recommend ExNavigation. We’re working relatively closely with Exponent so these things are not going to sort of diverge in dangerous ways.

React Router Native : 文档说明了一切。我只能说,如果你习惯了 React Router,这可能适合你。


关注:React Native Navigation by WIX .看起来很不错,但考虑到它有点落后于latest,我没有尝试过。 react native 的版本(在写这个答案时)。


有趣的 RN Nav 内容如下:

React Native — Which Navigator should I use?

First look: React Native Navigator Experimental Part 1

关于android - react 原生 : Which navigator should I use?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39976957/

相关文章:

ios - 如何将图像保存到iOS 9.0中的特定文件夹

ios - iOS 中使用实时摄像头的 Firebase MLKit 文本识别

android - 尝试使用共享代码隐藏操作栏时出现问题

javascript - 如何将样式作为默认样式应用到我的组件

javascript - 使用 React Native 进行基于标签的过滤

android - Openstreetmap 隧道

java - 如何从短信中获取PDU

java - 如何实现 libGDX 复选框

javascript - 在 webview 中显示网页的一部分

android - react-native的ToolbarAndroid中如何设置navIcon的高宽?