查看fb的文档。
在react-native中navigator和navigatorIOS有什么不同?
答案 0 :(得分:3)
在官方文档中,两者之间曾经有过比较。不知道为什么它从0.31被删除。你仍然可以从谷歌的缓存版本中获取它:
导航比较
Navigator和NavigatorIOS之间的差异是一个常见的来源 对新人来说是一种困惑。
Navigator和NavigatorIOS都是允许您使用的组件 在各种“场景”之间管理应用中的导航(另一个 屏幕上的字)。他们管理一个路由堆栈,让你弹出, 推动并替换状态。这样,它们类似于html5 历史API。两者之间的主要区别在于 NavigatorIOS利用iOS UINavigationController类和 Navigator完全在JavaScript中重新实现该功能 反应组件。这个的必然结果是Navigator将会是 兼容Android和iOS,而NavigatorIOS只能工作 在一个平台上。以下是两者之间差异的逐项列表 两个。
Navigator#
- 广泛的API使其可以从JavaScript完全自定义。
- 在React Native团队的积极开发中。
- 用JavaScript编写。
- 适用于iOS和Android。
- 包含一个简单的导航栏组件,类似于默认的NavigatorIOS栏:Navigator.NavigationBar,另一个带有
breadcrumbs名为Navigator.BreadcrumbNavigationBar。- 请参阅UIExplorer演示以试用它们并了解如何使用它们。目前动画效果良好且有所改善,但它们仍然较少 比你从NavigatorIOS获得的Apple更精致。
- 您可以通过navigationBar prop提供自己的导航栏。
NavigatorIOS#
- 小而有限的API使其比当前形式的Navigator更不易定制。
- 开发属于开源社区 - React Native团队未在其应用上使用。结果就是有 目前积压的未解决的错误,没有人使用它有 加强了对它的所有权。
- 包装UIKit,因此它与其他本机应用程序完全相同。生活在Objective-C和JavaScript中。因此,你 获得Apple开发的动画和行为。仅限iOS。
- 默认包含导航栏;此导航栏不是React Native视图组件,并且样式只能略微为
修改。
根据我的经验,navigatorIOS现在很不错,我建议使用Navigator。如果您查看Facebook F8应用程序,他们使用的是Navigator而不是navigatorIOS。
答案 1 :(得分:2)
导航器是您应用中不同场景之间的过渡,可以视为动画。
NavigatorIOS包装UIKit导航,它将推送或弹出一个控制器,其行为更像是原生导航。