【发布时间】:2016-03-20 07:44:40
【问题描述】:
用户登录后,在完成个人资料之前无法继续。如果用户尝试导航到其他页面,只要他们的个人资料完整,我想拦截他们并将他们重定向回个人资料页面。目前我想出的最佳解决方案是:
render() {
if (!profileComplete()) {
return document.location.assign(document.location.origin + '/complete-prof'));
}
return <Page />;
}
虽然这确实有效,但似乎不正确,因为您应该从 render 返回一个有效组件。
我也在componentWillMount 和componentDidMount 中尝试过这样做。这也有效,但是您可以在重定向发生之前看到另一个页面的闪光。
这是一个小问题,但我还必须在所有需要拦截的页面上包含这个拦截,而不是通过一些配置或更通用的方法来处理它。
在使用 React 视图时,是否有首选方法来阻止/拦截路由?
【问题讨论】:
标签: reactjs react-router refluxjs