Taro: willMount 中用 Taro.navigateTo 了,后面的数据 还是加载了

Created on 22 Nov 2018  ·  5Comments  ·  Source: NervJS/taro

问题描述
小程序要登录后才能使用,否则跳转到登录页面,api服务器那边也是,会验证用户是否登录,没登录会返回401,现在问题是在willMount中判断没登录,然后跳转了,不过,发现后面的请求还是发起了, 是因为Taro先render的问题么?现在有什么办法能像react router一样先拦截?

[或者可以直接贴源代码,能贴文字就不要截图]

  componentWillMount() {
    if (this.state.logined) {
       Taro.navigateTo({ url: '/pages/login/index' })
   }
  }

期望行为
没登录下直接跳转,后面的api不请求

报错信息

系统信息

  • 操作系统: osx 10.14
  • Taro 版本 1.1.8
  • Node.js 版本 v10.13.0
  • 报错平台 weapp

补充信息
wx20181122-155604 2x

All 5 comments

欢迎提交 Issue~

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

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

Good luck and happy coding~

redirectTo

redirectTo的确是可以,不过组件里的请求还是会请求,看来是因为render先执行了一次的原因。现在先在组件里多处理下了,谢谢

Hello~

您的问题楼上已经提供了解决方案,如果没有更多的问题这个 issue 将在 15 天后被自动关闭。

如果您在这 15 天中更新更多信息自动关闭的流程会自动取消,如有其他问题也可以发起新的 Issue。

Good luck and happy coding~

在 componentWillMount 里执行 redirectTo之后,componentDidMount 和 componentDidShow 还是会执行 @luckyadam 这个issue可以reopen吗

Was this page helpful?
0 / 5 - 0 ratings