配置react-router v4

时间:2017-05-25 14:44:51

标签: javascript reactjs react-router frontend

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

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

谢谢!

1 个答案:

答案 0 :(得分:1)

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

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