Expo 和 React Native 应用中的导航
编辑页面
了解在 Expo 和 React Native 项目中集成导航的推荐方法。
For the complete documentation index, see llms.txt. Use this Use this file to discover all available pages.
React Native 核心库不包含内置的导航解决方案,因此你可以选择最适合你需求的导航库。对于 Expo 和 React Native 应用,通常是在 React Navigation 和 Expo Router 之间做选择。
为什么 React Native 应用需要导航库
React Native 核心包含基础 UI 组件、触摸处理、设备 API 和网络通信,但不包括诸如存储、相机、地图、大多数设备传感器以及 导航 在内的功能!这些内容旨在由社区库来提供。
React Navigation
React Navigation 是一个基于组件的导航库,在 React Native 生态系统中被广泛使用。它允许你完全通过代码组合堆栈、标签页和抽屉导航器,从而实现复杂流程、自定义过渡效果以及特定于应用的 UX 模式。
该库提供平台特定的外观和体验,具有流畅的动画和手势、统一的移动端和 Web 路由、带有静态配置的自动深度链接、类型化路由,并且高度可定制。
了解如何开始使用 React Navigation。
Expo Router(推荐用于 Expo 项目)
Expo Router 是一个面向 Expo 和 React Native 项目的基于文件的路由库,它建立在 React Navigation 之上。通过遵循 app 目录约定,它会将文件转换为路由,并与 Expo 集成,无需额外设置即可用于 Expo CLI 和打包。该库还增加了诸如类型化路由、动态路由、开发环境中的延迟打包、Web 端静态渲染以及自动深度链接等功能。
使用 npx create-expo-app@latest --template default@sdk-55 创建的新 Expo 项目默认包含 Expo Router,因此你可以快速交付跨平台导航,同时在需要时仍然可以使用 React Navigation API。
Expo Router 是一个为使用 Expo 构建的通用 React Native 应用提供的开源路由库。
了解如何通过创建一个带有 Expo Router 的新项目,或将该库添加到现有项目中,快速开始。
了解 Expo 中基于文件的路由核心概念。