我按照以下说明使用 Expo Router 创建了一个新的 React Native 项目: https://docs.expo.dev/routing/installation/#quick-start
根是堆栈导航器,“(tabs)”是选项卡导航器
我想为这个项目添加身份验证。我该怎么做?
以前,我会做这样的事情:
export default function Navigation() {
const { isContextInitialized } = useDataProvider()!
return (
<NavigationContainer>
{
isContextInitialized ? <RootNavigator /> : <AuthNavigator />
}
</NavigationContainer>
);
}
但这对 Expo 路由器不起作用,因为它总是渲染名为 index.html 的任何文件。如果我开始更改文件的名称,它的行为会非常奇怪,并继续尝试渲染其他文件。
您能否提供将经过身份验证的路由添加到 Expo Router 启动项目时的最佳实践?
此外,我已经看过这些说明 https://docs.expo.dev/router/reference/authentication/
Byt 我对如何使用现有的目录结构进行设置感到困惑。因为现有的结构在根部已经有一个 stack-navigator,所以我不能使用 slot 来告诉路由器去哪里而不调整整个目录结构。