这是我的 componentWillMount 函数中的代码:
if(expression) {
let path = '/something;
browserHistory.push(path);
}
let tokens = CookiesWrapper.getCookie('tokens');
if (!tokens) {
browserHistory.push('/login');
}
当我调试时,我看到 browserHistory.push 方法有奇怪的行为,看起来代码是异步执行的。
当谈到第 3 行时,代码继续在第 4 行和第 5 行执行,它不会在调用 push 方法后立即重定向我。知道为什么会这样吗?
最佳答案
如果您不使用 return
解析器将继续执行代码(在这种情况下它将继续执行您的 let
声明和 if
声明)。
if(expression) {
let path = '/something';
return browserHistory.push(path);
}
let tokens = CookiesWrapper.getCookie('tokens');
if (!tokens) {
return browserHistory.push('/login');
}
关于javascript - 为什么 React-router 在调用 browserHistory.push 方法后不立即重定向?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45664424/