Expo React Native深度链接路由不匹配问题求助
解决Expo React Native深度链接“unmatched route”问题
核心修复:移除independent={true}
你的代码中NavigationContainer设置了independent={true},这个属性会让导航容器脱离应用全局状态管理,导致应用启动时无法正确初始化深度链接对应的路由。移除该属性后,导航容器能正常处理初始路由匹配:
<NavigationContainer linking={linking}> <Stack.Navigator> <Stack.Screen name="Invite" component={myscreen} options={myoptions} /> </Stack.Navigator> </NavigationContainer>
额外排查点
- 确认prefix格式正确性:通过
console.log(prefix)验证Linking.createURL('/')生成的前缀是否和实际使用的深度链接匹配。若scheme配置错误,需在app.json的expo.scheme字段中设置正确值。 - 检查深度链接格式:确保打开的链接符合配置规则,比如应为
[prefix]invite/123(例:myapp:///invite/123),路径或参数错误会触发路由不匹配。 - 验证路由名称一致性:确保
linking.config.screens中的Invite和Stack.Screen的name完全一致(大小写敏感)。
内容的提问来源于stack exchange,提问作者upendra g
相关产品推荐
相关产品推荐

