反应原生的navigator和navigatorIOS之间有什么不同?

时间:2015-05-04 15:29:25

标签: react-native

查看fb的文档。

在react-native中navigator和navigatorIOS有什么不同?

2 个答案:

答案 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导航,它将推送或弹出一个控制器,其行为更像是原生导航。