Redux/Redux-Saga 中使用回调函数是否属于反模式?
登录场景加载状态实现与管理方案梳理
基础实现流程
- 用户触发登录提交请求时,UI层会将提交按钮替换为加载动画(Spinner),该交互逻辑依赖独立的
isLoading状态控制:状态为true时展示加载动画、禁用提交操作,状态为false时恢复正常提交按钮 - 向saga派发登录action时,可直接在action入参中传入回调函数,无论登录请求最终返回成功还是失败,都会触发该回调,只需在回调逻辑中将
isLoading设为false即可结束加载状态
状态管理方案争议说明
部分技术观点认为加载状态应当统一在reducer中管理,但针对这类仅属于特定单一场景的临时加载状态,存放在全局应用层面并不是最优方案。
这类和单个业务操作强绑定的临时状态,放在对应业务组件内部维护即可,无需占用全局状态存储空间,也能减少全局reducer的冗余逻辑,避免不同模块的加载状态出现命名冲突问题。
内容的提问来源于stack exchange,提问作者Aloiso Gomes
相关产品推荐
相关产品推荐

