路由设置
编辑
了解如何在 Expo Router 中使用静态属性配置布局。
initialRouteName
在深度链接到一个路由时,您可能希望为用户提供一个“返回”按钮。initialRouteName 设置堆栈的默认屏幕,应该匹配一个有效的文件名(不带扩展名)。
app_layout.tsxindex.tsxother.tsxapp/_layout.tsx
import { Stack } from 'expo-router'; export const unstable_settings = { // 确保任何路由可以链接回 `/` initialRouteName: 'index', }; export default function Layout() { return <Stack />; }
现在直接深度链接到 /other 或重新加载页面将继续显示返回箭头。
使用 数组语法 (foo,bar) 时,您可以在 unstable_settings 对象中指定一个组的名称以目标特定段。
other.tsx
export const unstable_settings = { // 用于 `(foo)` initialRouteName: 'first', // 用于 `(bar)` bar: { initialRouteName: 'second', }, };
initialRouteName 仅在深度链接到一个路由时使用。在应用导航期间,您正在导航到的路由将是初始路由。您可以使用 <Link /> 组件上的 initial 属性或通过将选项传递给命令式 API 来禁用此行为。
// 如果此导航到一个新的 _layout,别覆盖初始路由 <Link href="/route" initial={false} />; router.push('/route', { overrideInitialScreen: false });