@react-navigation/stack@react-navigation/native-stack之间有什么区别?

@react navigation/stack仅适用于react应用程序,@react navigation/native stack仅适用于react-native 应用程序吗?

  • @react-navigation /堆栈-301111每周下载
  • @react-navigation /本机堆栈-每周下载24830次
import { createStackNavigator } from '@react-navigation/stack'
const Stack = createStackNavigator()
import { createNativeStackNavigator } from '@react-navigation/native-stack'
const Stack = createNativeStackNavigator()

推荐答案

Native Stack使用Android和IOS本机导航系统在页面之间导航.

Native Stack Navigator

Stack Navigator

另一个不是真正的"导航",而是模仿HTML/JavaScript(本质上是SPA)中的导航.他们说,他们试图让它感觉像是本地导航,但它可能并不完全相同,也可能与性能不一样.然而,它将更加可定制.您可以自定义页面之间的过渡.用原生的方法定制很多东西是不可能的.你可以定制的,你将需要 for each 操作系统(Android,IOS)做一次,除非导航库提供了一种定制你想要的并处理操作系统差异的方法.


通常当人们想要制作跨平台应用程序时.只要合理,他们都倾向于使用基于javascript的解决方案.只有在绝对必要时才使用本机方法.react native让您能够利用本机API,这很好.但使用本机方法也会迫使您使用物理手机(或模拟器)来测试这些功能(正确).而所有基于web的东西都可以在浏览器中轻松测试,这往往会加快开发速度.

React-native相关问答推荐

PubNubReact无法工作,因为它已被废弃

为什么将字符串写入文件然后将相同的文件作为字符串读取会导致不同的字符串?

无法在 M1 zsh 上运行 adb segmentation fault adb

React Native 转换与枢轴点

React Native:约束 Animated.Value

在 iOS 模拟器中运行 React Native 应用程序时找不到 UMModuleRegistryAdapter.h

如何运行 React-Native 示例?

react native foreach 循环

api.get(...).then(...).catch(...).finally 不是函数

redux saga 的delay延迟功能不起作用

试图注册两个同名的视图 RNGestureHandlerButton

React Native Android 文本组件额外填充

Ipad 上的 React Native - 错误 - could not connect to development server

占位符文本在(多行)TextInput for Android(React Native)中的位置

[React-Native][Jest]SyntaxError: Unexpected token import

React本机IOS,当TextInput获得焦点时,按钮按下不注册

手动调用 React.PropTypes 验证 React native "^0.30.0"

如何将 jest 测试移动到 /test 文件夹并让它们运行?

React Native 项目,有时使用 expo start 获得连接 ECONNREFUSED 127.0.0.1:19001

如何在 React Native 中创建拖放操作?