我正在使用Expo Managed Workflow构建一个应用程序,利用React Navigation,EAS Build等。
React Navigation有一个linking
配置,可以用来将屏幕连接到深度链接路径。我面临的问题是,当用户已经打开应用程序时,深度链接正在工作,但当深度链接从关闭状态打开应用程序时,深度链接则无法工作。
我最好的猜测是,这是因为深层链接试图在我的身份验证逻辑暴露“受保护的屏幕”之前导航。
!isAuth ? <LogIn /> : <ProtectedScreens />
字符串
我似乎找不到任何好的文档或例子来处理这个问题并检测深层链接,但要等到React Navigation渲染了<ProtectedScreens />
之后。
如果你能帮忙的话,我将不胜感激。
2条答案
按热度按时间vkc1a9a21#
最近我自己也想弄清楚这一点,react-navigation的文档在这方面真的很差。
问题是,你可能会呈现一个
<NavigationContainer>
,而不管用户是否经过身份验证,并根据auth状态更改导航容器的上下文。解决这个问题的一种方法是使用两个<NavigationContainer>
。即:字符串
我可以在我这边确认上述工作。
voase2hg2#
我最终解决了这个问题,从世博会购买新的范式和利用世博会路由器。现在也世博会路由器V2。
这从React Navigation所需的样板中抽象了一点,但绝对简化了处理场景。
总的来说,您可以创建一个自定义钩子来管理Expo Router状态,并通过利用Expo的
useSegments
钩子来访问应用的不同部分。事
字符串