如何在 Expo Router V2 模板之上添加身份验证

问题描述 投票:0回答:1

我按照以下说明使用 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 来告诉路由器去哪里而不调整整个目录结构。

react-native expo react-navigation expo-router
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.