Asynchronous 如何在Umijs路由包装器中进行异步调用?

Asynchronous 如何在Umijs路由包装器中进行异步调用?,asynchronous,routes,request,wrapper,umijs,Asynchronous,Routes,Request,Wrapper,Umijs,在UMIJS中,可以为路由或路由组提供包装函数。根据文件记载,这是一个特殊的问题 来自 导出默认值{ 路线:[ {路径:'/user',组件:'user', 包装:[ “@/wrappers/auth”, ], }, {路径:'/login',组件:'login'}, ] } 请参见以下示例作为src/wrappers/auth的内容: 从“umi”导入{Redirect} 导出默认值(道具)=>{ const{isLogin}=useAuth(); if(isLogin){ 返回{props

UMIJS中,可以为路由或路由组提供包装函数。根据文件记载,这是一个特殊的问题

来自

导出默认值{
路线:[
{路径:'/user',组件:'user',
包装:[
“@/wrappers/auth”,
],
},
{路径:'/login',组件:'login'},
]
}
请参见以下示例作为src/wrappers/auth的内容:

从“umi”导入{Redirect}
导出默认值(道具)=>{
const{isLogin}=useAuth();
if(isLogin){
返回{props.children};
}否则{
返回;
}
}
通过以上配置,
/user
的用户请求将通过
useAuth
进行验证
src/pages/user
被渲染或页面重定向到
/login

我想要在
useAuth()
函数中发送POST请求,以检查用户是否经过身份验证。但当我尝试使用
useHooks
或DVA的
connect
函数时,包装器组件既不允许异步操作也不允许更新。看起来它只需要同步操作。在这种情况下,在我以同步方式运行POST请求之前,建议的方法看起来是无用的。如何在路由包装器中使用异步操作