You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用navigation.reset从栈页面跳转至Tab导航失效,显示白屏

登录后跳转主页面并清除路由栈(解决白屏问题)

问题根源

直接调用navigation.reset跳转到MainRoute时,Tab导航器的内部路由栈未被初始化,导致TabBar和对应页面无法渲染,出现白屏。因为Main是嵌套的Tab导航组件,重置全局栈时必须同时指定Tab导航的初始路由。

修复代码

修改登录按钮的点击事件代码,在reset配置中嵌套Tab导航的初始路由:

navigation.reset({
  index: 0,
  routes: [
    {
      name: MainRoute,
      // 嵌套Tab导航的初始路由,对应你Tab.Screen中定义的第一个页面name(比如home)
      state: {
        routes: [{ name: home }]
      }
    }
  ]
});

注意事项

  • 确保home常量与Main组件中Tab.Screen的name属性完全匹配,若你的Tab首个页面name是其他值(如HomeRoute),替换为对应常量即可。
  • 该方式会彻底清空全局路由栈,仅保留主页面(含Tab导航的初始页面),同时正确初始化Tab内部路由,避免白屏。

内容的提问来源于stack exchange,提问作者Chup bae

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 16:23:18