dva 与 vuex 的 dispatch 使用问题
背景:
因为之前都是vue的项目,但是最近有react的项目;在查看相关demo的时候产生了一些疑问;
问题:
一般我自己的项目使用vuex的话,是为了管理公共状态,一些公共状态数据会dispatch,正常的接口请求获取的数据还是放在页面或者组件内部;
但是目前查看一些基于Umi +dva 的项目时,许多接口请求的数据也都是通过dispatch effect 改变状态的,我直接请求数据然后setState 改变状态应该也可以,为什么要通过effects 去改变呢?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
保持redux是纯函数,处理副作用是在effect中处理,例如请求,处理数据等等
『我直接请求数据然后setState 改变状态应该也可以,为什么要通过effects 去改变呢』
这个问题就要问你自己了,在
vue
的组件里,直接发请求拿数据,然后直接赋值在data
上也能刷新组件视图,干嘛用vuex
来dispatch
?是不是一样的问题?工具的使用源于工程上需求,如果你并没有这个需求,那自然感觉用这个工具是多余的