You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React Native Expo路由文件移入文件夹后路由不存在的解决方法

问题修复方案

你的问题出在Stack路由配置的名称与实际文件路径不匹配:

你在_layout.tsx里指定的settings路由,对应的是app/settings.tsx文件,但你的实际路由文件是app/settings/index.tsx。Expo Router中,文件夹下的index.tsx会被映射为该文件夹的根路由(即/settings),但在Stack组件的Screen配置中,name属性需要严格匹配文件相对于app文件夹的路径(不含后缀)。

修复步骤

修改_layout.tsx中的Stack配置,将路由名称改为settings/index,同时更新initialRouteName:

import { Stack } from "expo-router";

export default function RootLayout() {
    return (
        <Stack initialRouteName="settings/index">
            <Stack.Screen name="settings/index" />
            <Stack.Screen name="index" options={{ headerShown: false }} />
        </Stack>
    );
}

补充说明

  • 这样配置后,路由路径依然是/settings,不会变成/settings/index,因为index.tsx本身就是文件夹的默认入口路由。
  • 后续如果在settings文件夹下添加子路由(比如app/settings/profile.tsx),对应的Stack.Screen名称需要写settings/profile,路由路径为/settings/profile。

内容的提问来源于stack exchange,提问作者David Jentjens

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 03:03:12