我能想到使用本机导航的唯一原因是当我有更多屏幕时;基于JS的解决方案(如React Navigation)将保留所有屏幕的内存.现在我不是本地开发人员,所以上面的内容可能很模糊.

推荐答案

我是react native navigation的贡献者之一.这个问题是一个常见的问题,我以前写过一个答案(react navigation VS react native navigation).

React导航是基于Javascript的导航,这意味着所有导航都发生在单个活动中(在Android和iOS上).

基于Javascript的导航的好处在于,它们可以在大多数平台上工作.但由于在同一个活动中堆叠所有内容,它们通常会遇到性能问题.

React本机导航另一方面是实际的本机导航.每个屏幕都有其本机容器,用于处理本机系统.以每个平台的深度集成为代价,更好地优化性能.

希望这有帮助.

React-native相关问答推荐

react native调用fetch后如何使用Async Storage在本地保存数据?

'未能找到 React 根视图的片段' React Native Android RNScreens

如何在react native 中将选定的自定义复选框数据发送到下一页?

react-redux connect 和 redux 数据的组件生命周期顺序

如何 break .map 功能

TextInput 防止 ScrollView 滚动

什么时候适合在 React 中使用构造函数?

在 CircleCI 上 ReactNative 0.59.x build fails on CircleCI with exit value 137

react-native 中 android 和 iOS 的图像大小

React Native:错误:找不到资源 android:style/TextAppearance.Material.Widget.Button.Borderless.Colored

使用 resizeMode = contain时的图像对齐

React Native 有全局作用scope域吗?如果没有,我该如何模仿它?

如何在 React Native 中将静态图像拉伸为背景?

没有找到 `React-fishhook` 的 podspec

如何在 React 中使用带有钩子的生命周期方法?

键盘上方的 React Native 完成按钮

React Native - 为什么执行这个函数?

由于对 sourcetree 的 husky 预推送,Git 推送失败

React Native - 如何从推送通知中打开路由

如何在 react-native 中重叠