用途:在 Expo 应用中采用 Expo Router 实现基于文件的路由,这是 Expo 官方推荐的导航方案。
主要能力:路由由文件结构定义,例如 app/_layout.tsx 为根布局,index.tsx 对应 /,about.tsx 对应 /about,(tabs) 为不进入 URL 的分组目录,users/[id].tsx 为动态路由 /users/:id。支持 Stack、Tabs 等布局,Link 组件与 router 对象导航,useLocalSearchParams 读取动态参数与查询参数,路由分组、模态路由、认证流程,以及通过 app.json 的 scheme 与 expo-router 插件配置深度链接。
必要用法:导航可使用 <Link href="/about">,或用 router.push('/details')、router.push({ pathname: '/users/[id]', params: { id: '123' } })、router.replace('/login')、router.back()。动态参数通过 const { id } = useLocalSearchParams<{ id: string }>() 获取。查询参数如 /products/123?category=electronics&sort=price。深度链接需在 app.json 配置 scheme,例如 myapp://users/123 会打开 app/users/[id].tsx 并传入 id="123";通用链接需额外的 iOS/Android 配置。
限制与注意:资料建议不要直接混用 React Navigation 的 NavigationContainer,避免无布局的多层 Stack 嵌套,避免硬编码路由字符串(可用常量或类型化路由)。资料未提供收费、价格、平台要求等更多信息。