在我的应用中,用户注册后,我需要用户确认他们的电子邮件地址才能使用该应用。
如果用户已通过身份验证state.currentUser.isLoggedIn
,我想像这样运行支票:
if (!state.currentUser.confirmed) {
redirect to "/welcome/verify-your-email)
}
除非用户在" / welcome"路径,因为我希望用户能够注册,创建他们的个人资料,然后在能够访问应用程序之前验证他们的电子邮件。
使用React Router 4,我如何在Routes文件中实现这一点?
谢谢
答案 0 :(得分:0)
我遇到了同样的问题,并没有找到比检查历史道具动作属性更好的解决方案:
const { history } = this.props;
const isRedirect = history.action === 'REPLACE';
请注意,您必须使用withRouter
react-router-dom
实用程序来可靠地从道具中访问历史记录。