第一次正儿八经用react做项目,很多问题不太明确。网络请求用到了axios,状态管理用发redux。
现在想做个loading效果,不知道怎么处理好。
1、本来想放到axios的拦截器里做,但是感觉不太好,我一个页面可能有多个异步请求,如果在拦截器里做loading,怕页面闪得厉害
2、如果在每个请求里dispatch一个loading状态的好像还是一样的问题,我一个页面有多个异步请求,每个请求都去dispatch一个loading状态,好像还是不太好
不知道有没有更好的方案,我现在的数据请求都是通过redux来做的,类似这样
export const postDefaultParamsAction = params => (
dispatch => {
httpUtil.POST(`api`, params).then( res => {
const { status, data } = res
console.log(status, data)
}).catch(err => {
console.log(err)
})
}
)
promise.all
可以解决多个请求只显示一次loading
的问题。