ant design pro解决初始加载,有顺序的请求/请求顺序报错问题/登录后再加载其他数据/异步的顺序问题/偷跑
方法是:如在Authorized.jsx中解决,当未登录成功(包括登录失败和登录验证中),就显示loading,否则继续 加载渲染children
一个三目运算或者if分支就可以解决,但是要写到最先加载的路由页面中,这样一开始加载页面时,才能拦住其他的组件的加载,例如:我的项目一开始就加载鉴权组件Authorized,那么
Authorized.jsx
render() { if (loading || loginCode === 100) { return <PageLoading />; } if (loginCode === 400) { return <Redirect to={`/login`}></Redirect>; } return children; }
loginCode 是我根据后台返回的数据,做的判断,当后台未返回时,loginCode 赋值 100,登录失败时,loginCode 赋值 400 ,登录成功,loginCode 赋值 200即可,此时把用户数据存在redux中,其他页面加载时,都可以用得到,这样,我就有效避免由于网络问题,服务未及时返回,而页面先加载取用户数据报错的问题