路由设置

编辑

了解如何在 Expo Router 中使用静态属性配置布局。


警告: unstable_settings 目前不支持 异步路由(仅限于开发)。这就是为何该功能被指定为 不稳定

initialRouteName

在深度链接到一个路由时,您可能希望为用户提供一个“返回”按钮。initialRouteName 设置堆栈的默认屏幕,应该匹配一个有效的文件名(不带扩展名)。

app
_layout.tsx
index.tsx
other.tsx
app/_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 });