首页 文章

配置 react-router v4

提问于
浏览
1

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

在 react-router v3 中我有 onEnter 和 onChange 方法,在这个方法中我可以得到存储并查看用户是否记录和replace路由,但是在 v4 中不存在这个方法,所以包含 onEnter 和 onChange 方法的所有逻辑都必须放在组件中,例如,在componentWillReceiveProps

谢谢!

1 回答

  • 1

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

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

相关问题