Expo 与 React Native 应用中的导航
编辑
了解在 Expo 和 React Native 项目中集成导航的推荐方法。
核心 React Native 库不包含内置的导航解决方案,因此你可以选择最适合你需求的导航库。对于 Expo 和 React Native 应用,通常是在 React Navigation 和 Expo Router 之间作出选择。
为什么 React Native 应用需要导航库
React Native 核心包含基础 UI 组件、触控处理、设备 API 和网络,但不包括存储、摄像头、地图、大多数设备传感器等,以及导航 !这些功能旨在由社区库来覆盖。
React Navigation
React Navigation 是一个基于组件的导航库,在 React Native 生态系统中广泛使用。它让你完全用代码组合栈导航、标签导航和抽屉导航,从而实现复杂的流程、自定义过渡和应用特定的用户体验模式。
该库提供基于平台的外观与流畅的动画与手势,统一的移动端和网页路由、自动深度链接、带静态配置的类型路由,并且高度可定制。
Learn how to get started with React Navigation.
Expo Router(推荐用于 Expo 项目)
Expo Router 是一个基于文件的路由库,适用于 Expo 和 React Native 项目,且构建在 React Navigation 之上。通过遵循 app 目录约定,它将文件转换为路由,并与 Expo 集成,实现 Expo CLI 和打包,无需额外设置。该库还新增了诸如类型化路由、动态路由、开发环境下的懒加载、网页端静态渲染,以及自动深度链接等功能。
使用 npx create-expo-app@latest 创建的新 Expo 项目默认包含 Expo Router,因此你可以快速发布跨平台导航,同时在需要时仍然可以访问 React Navigation 的 API。
Expo Router 是一个用于 Expo 构建的通用 React Native 应用的开源路由库。
了解如何通过创建一个新的项目并使用 Expo Router 快速入门,或将该库添加到现有项目中。
了解 Expo 中基于文件的路由的核心概念。