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)
})
}
)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
promise.all
可以解决多个请求只显示一次loading
的问题。笨办法加计数器
dva那套框架提供的办法挺好的,异步请求的都会有一个loading态在store里,随取随用,也不用每次都去dispatch Loading的action。
可参考我的博客 lurenhong.top
里面有github地址 代码中有解决loading问题