使用 React Native Expo Router,我想定义一个与 index.tsx 不同的默认堆栈。目前,当我启动一个带有名为 page1.tsx 的简单堆栈的应用程序时,expo router 找不到它并显示“不匹配的路线(我找不到页面)”。
要重现该问题,
并更改以下2个文件:
在应用程序文件夹中:
_layout.tsx
page1.tsx
_layout.tsx 文件:
import { Stack } from "expo-router";
export default function RootLayout() {
return (
<Stack>
<Stack.Screen name="page1" options={{ title: "P1" }} />
</Stack>
);
}
page1.tsx 文件:
import { Text, View } from "react-native";
export default function Index() {
return (
<View
style={{
flex: 1,
justifyContent: "center",
alignItems: "center",
}}
>
<Text>Edit app/index.tsx to edit this screen.</Text>
</View>
);
}
package.json:
"dependencies": {
"expo": "~52.0.19",
"expo-router": "~4.0.13",
"expo-web-browser": "~14.0.1",
"react": "18.3.1",
"react-dom": "18.3.1",
"react-native": "0.76.5",
Expo Router 使用基于文件的路由,就像传统网站一样。索引文件是您的应用程序/特定目录的默认条目。
如果您出于某种原因想使用“page1”作为默认条目文件,有两种方法可以实现此目的: