我通过REST api登录后使用react-router导航到某个页面。
这是我的代码示例,试过这个:
[asc201516s_teachers] => Array
(
[teachers_name] => Array
(
[0] => asd asd
[1] => asd asd asd
[2] => asd asd asd asd
)
[teachers_cnic] => Array
(
[0] => 32312-1212121-2
[1] => 33434-3434343-4
[2] => 34454-5454545-4
)
[teachers_gender] => Array
(
[0] => 1
[1] => 2
[2] => 2
)
[teachers_contact] => Array
(
[0] => 1234-5678910
[1] => 2345-6789101
[2] => 3456-7891011
)
)
这基于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);
}
},
然而,两者都不起作用。第一个抱怨"错误记录TypeError:无法读取属性' push'未定义",而第二个抱怨"错误登录TypeError:无法读取属性' context'未定义"。
任何人都可以帮我解决这个问题吗?被困在这里几个小时。谢谢!
答案 0 :(得分:0)
调用this.context.router.push('/')
无论出于何种原因都无效。但是,使用browserHistory.push('/')
时,网址会发生变化。此时如果刷新页面,它应该更改页面。根据我到目前为止所读到的内容,我不知道使用react路由器从服务器加载另一个页面是最好的方法。
答案 1 :(得分:-3)
结果是browserHistory.push('/');工作正常。失败的原因是由于反应路由器库不正确。