假设我们有一个API调用对用户进行身份验证,然后根据用户是否从服务器返回,我们要么replaceState要么什么也不做,这可能看起来像这样:
"mylocations"
<Route component={App} onEnter={authUser} />
在replaceState工作和不工作之间唯一的区别因素是从Promise的一个内部调用一个,而在Promise解析之外调用一个。 Promise是否影响replaceState执行?
答案 0 :(得分:3)
异步onEnter
挂钩的语法必然有点不同,因为我们需要一种方法来阻止转换,直到处理程序完成运行。
如果你的onEnter
挂钩是异步的,那么它需要采用第三个参数,例如
function onEnter(nextState, replaceState, callback) {
/* ... */
}
执行此操作时,您必须在输入挂钩完成运行后自己致电callback()
。我们有必要使用此API来支持例如没有使用