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 NavigationExpo Router 之间做选择。

为什么 React Native 应用需要导航库

React Native 核心包含基础 UI 组件、触摸处理、设备 API 和网络通信,但不包括诸如存储、相机、地图、大多数设备传感器以及 导航 在内的功能!这些内容旨在由社区库来提供。

React Navigation

React Navigation 是一个基于组件的导航库,在 React Native 生态系统中被广泛使用。它允许你完全通过代码组合堆栈、标签页和抽屉导航器,从而实现复杂流程、自定义过渡效果以及特定于应用的 UX 模式。

该库提供平台特定的外观和体验,具有流畅的动画和手势、统一的移动端和 Web 路由、带有静态配置的自动深度链接、类型化路由,并且高度可定制。

React Navigation:入门

了解如何开始使用 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 Router 是一个为使用 Expo 构建的通用 React Native 应用提供的开源路由库。

安装

了解如何通过创建一个带有 Expo Router 的新项目,或将该库添加到现有项目中,快速开始。

核心概念

了解 Expo 中基于文件的路由核心概念。