Taro: 【RN路由报错】Invalid initialRouteName

Created on 29 Oct 2019  ·  6Comments  ·  Source: NervJS/taro

问题描述
功能描述:先登录,再进入主页
问题描述:home、me是tabbar页面,在pages注册页面如果先注册login再注册tabbar页,运行RN后会路由错误。反之正常。两者微信小程序都是正常的。
错误信息:Invalid initialRouteName 'pages/login/index'.Should be one of "pages/home/index", "pages/me/index"

复现步骤
[复现问题的步骤]
image

期望行为
路由正常

报错信息

image

系统信息

  • 操作系统: [Windows 7]
  • Taro 版本 [1.3.22]
  • Node.js 版本 [10.1.0]
  • 报错平台 [rn]

补充信息
1、1.3.21版本同样报错。
2、有没有rn的交流群?rn上问题有点多,懒得git上一个个提,论坛也没几个rn的人。
3、想了解下Taro团队rn端的计划

bug

Most helpful comment

@Pines-Cheng 不知道你们这个问题解决没,我自己处理了下
解决问题:
1、RN端任意页面可作为入口页(默认取配置config.pages[0]),可为非tabBar页.
2、RN端路由reLaunch、switchTab导致页面栈混乱问题.
分析:
1、源码tabbar存在的情况下,使用createBottomTabNavigator嵌套的createStackNavigator,这个导致入口页只能为tabbar页面,改为createStackNavigator嵌套createBottomTabNavigator,可解决问题1
2、switchTab源码实现为navigation.navigate,统一weapp端switchTab需要清空页面栈,应改为navigation.reset实现。1、2修改结合解决了路由问题

ps:我自己的场景已经解决,没详细测试,不提PR了,有需要我可以提供代码

All 6 comments

欢迎提交 Issue~

如果你提交的是 bug 报告,请务必遵循 Issue 模板的规范,尽量用简洁的语言描述你的问题,最好能提供一个稳定简单的复现。🙏🙏🙏

如果你的信息提供过于模糊或不足,或者已经其他 issue 已经存在相关内容,你的 issue 有可能会被关闭。

Good luck and happy coding~

CC @Pines-Cheng

再补充一个问题:从tabbar页面调用Taro.reLaunch到其他页面后,RN页面栈全乱套了

感谢反馈~

@Pines-Cheng 不知道你们这个问题解决没,我自己处理了下
解决问题:
1、RN端任意页面可作为入口页(默认取配置config.pages[0]),可为非tabBar页.
2、RN端路由reLaunch、switchTab导致页面栈混乱问题.
分析:
1、源码tabbar存在的情况下,使用createBottomTabNavigator嵌套的createStackNavigator,这个导致入口页只能为tabbar页面,改为createStackNavigator嵌套createBottomTabNavigator,可解决问题1
2、switchTab源码实现为navigation.navigate,统一weapp端switchTab需要清空页面栈,应改为navigation.reset实现。1、2修改结合解决了路由问题

ps:我自己的场景已经解决,没详细测试,不提PR了,有需要我可以提供代码

@zoujunda RN 交流群人数超过 100 不能通过扫码加入了,在任意一个 Taro 开发交流群 @ 我,我拉你进去。

Was this page helpful?
0 / 5 - 0 ratings

Related issues

liu-dongyu picture liu-dongyu  ·  3Comments

fxy5869571 picture fxy5869571  ·  3Comments

zhuxianguo picture zhuxianguo  ·  3Comments

fuyue111 picture fuyue111  ·  3Comments

wyhaya picture wyhaya  ·  3Comments