【问题标题】:Configuration react-router v4配置 react-router v4
【发布时间】:2017-10-26 06:37:50
【问题描述】:

我有两个页面,管理页面和登录页面。如果用户未登录管理页面必须重定向到登录页面,如果用户登录登录页面必须重定向到管理页面。

在 react-router v3 中,我有 onEnter 和 onChange 方法,在这种方法中,我可以存储并查看用户是否登录和replace 路由,但在 v4 中不存在此方法,因此所有包含 onEnter 和我必须在组件中放入 onChange 方法,例如在 componentWillReceiveProps 中?

谢谢!

【问题讨论】:

    标签: javascript reactjs react-router frontend


    【解决方案1】:

    是的。在 react-router v4 中,路由被视为另一种类型的组件。 Route 只是一个组件,如果浏览器位置与给定路径匹配,则呈现另一个给定组件,仅此而已。由于这个设计决策,拥有另一组专门针对 Routes 的生命周期方法没有多大意义,我们可以利用 React 组件生命周期方法来代替。根据我的经验,它几乎涵盖了 react-router v3 生命周期钩子支持的所有用例。

    在您的情况下,您可以简单地将条件 <Redirect/> 标签放在管理组件和登录组件的 JSX 中以使其工作。此外,新的 react-router 4 docs 很好地解释了这种情况。

    【讨论】:

      猜你喜欢
      • 2018-11-30
      • 1970-01-01
      • 1970-01-01
      • 2017-09-10
      • 2017-12-29
      • 2017-08-16
      • 2017-08-14
      • 2017-09-04
      • 1970-01-01
      相关资源
      最近更新 更多