我一直试图解决这个问题几个小时,但我尝试的一切都失败了。我正在尝试登录用户并在成功时根据用户的角色将用户路由到正确的URL。在下面的示例中,我成功登录,并且成功识别用户,但是当我尝试重定向或推送时,它不会让我。没有错误,它只停留在登录URL上。
我正在使用: 反应路由器4,Meteorjs
handleSubmit(event) {
event.preventDefault();
Meteor.loginWithPassword(email, password, (error, result) => {
if (error) {
this.setState({ loginError: 'Incorrect username or password.' });
} else {
if (!!Roles.userIsInRole(Meteor.userId(), 'isAdmin')) {
<Redirect to="/admin/dashboard" push />
}
}
});
}
答案 0 :(得分:1)
react 组件是呈现的,它不仅仅是一个可以从任何地方调用的函数。
使用history.push('/admin/dashboard")
如果路由器作为支柱传递到您的组件中,您可能也会发现自己在做
this.props.history.push('/admin/dashboard")