react+axios处理loading的问题

第一次正儿八经用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)
    })
}

)

阅读 5.6k
4 个回答

promise.all可以解决多个请求只显示一次 loading 的问题。

笨办法加计数器

dva那套框架提供的办法挺好的,异步请求的都会有一个loading态在store里,随取随用,也不用每次都去dispatch Loading的action。

可参考我的博客 lurenhong.top
里面有github地址 代码中有解决loading问题

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题