首页 > 解决方案 > @react-navigation/stack 与 @react-navigation/native-stack 有什么区别?

问题描述

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

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

import { createStackNavigator } from '@react-navigation/stack'
const Stack = createStackNavigator()
import { createNativeStackNavigator } from '@react-navigation/native-stack'
const Stack = createNativeStackNavigator()

标签: reactjsreact-nativereact-navigation

解决方案


Native Stack 使用 Android 和 IOS 原生导航系统在页面之间导航。

本机堆栈导航器 https://reactnavigation.org/docs/native-stack-navigator/

堆栈导航器 https://reactnavigation.org/docs/stack-navigator/

另一个并没有真正“导航”,而是模仿 HTML/JavaScript 中的导航(本质上是 SPA)。他们说他们试图让它感觉像本机导航,但它可能不完全相同或不完全相同。但是,它将更加可定制。您可以自定义页面之间的转换。使用本机方法,定制很多东西是不切实际的,甚至是不可能的。您可以自定义的内容,您需要为每个操作系统(Android、IOS)执行一次,除非导航库提供了一种自定义您想要的内容并处理操作系统差异的方法。


通常当人们想要制作跨平台应用程序时。只要明智,他们就会倾向于基于 javascript 的解决方案。仅在绝对必要时使用本机方法。React Native 让您能够利用原生 API,这真是太好了。但是使用本机方法会迫使您也使用物理电话(或模拟器)来(正确地)测试这些功能。而基于 Web 的所有内容都可以在浏览器中轻松测试,这对于开发速度来说往往要快得多。


推荐阅读