我使用react-router在通过REST API登录后导航到某个页面。react-router无法读取未定义的属性“推送”
这里是我的代码样本,尝试这样做:
export default {
loginUser: (jwt, rememberMe) => {
var savedJwt = localStorage.getItem('jwt');
AppDispatcher.dispatch({
actionType: 'LOGIN_USER',
jwt: jwt
});
if (savedJwt !== jwt) {
browserHistory.push('/');
localStorage.setItem('jwt', jwt);
}
},
而且此基础上做出反应路由器教程。
export default {
loginUser: (jwt, rememberMe) => {
var savedJwt = localStorage.getItem('jwt');
contextTypes: {
router: React.PropTypes.object
}
AppDispatcher.dispatch({
actionType: 'LOGIN_USER',
jwt: jwt
});
if (savedJwt !== jwt) {
this.context.router.push('/')
localStorage.setItem('jwt', jwt);
}
},
但是,两者都不起作用。第一个抱怨“在TypeError中记录错误:无法读取未定义的属性”push“,而第二个抱怨”在TypeError中记录错误:无法读取未定义的属性'上下文“。
任何人都可以帮助我吗?一直呆在这里好几个小时。谢谢!
您是否从react-router导入了浏览器历史记录。 '从'react-router''导入{browserHistory} 另外哪个版本的react-router正在使用? –