dva 与 vuex 的 dispatch 使用问题

背景:
因为之前都是vue的项目,但是最近有react的项目;在查看相关demo的时候产生了一些疑问;

问题:
一般我自己的项目使用vuex的话,是为了管理公共状态,一些公共状态数据会dispatch,正常的接口请求获取的数据还是放在页面或者组件内部;
但是目前查看一些基于Umi +dva 的项目时,许多接口请求的数据也都是通过dispatch effect 改变状态的,我直接请求数据然后setState 改变状态应该也可以,为什么要通过effects 去改变呢?

阅读 2.7k
2 个回答

保持redux是纯函数,处理副作用是在effect中处理,例如请求,处理数据等等

『我直接请求数据然后setState 改变状态应该也可以,为什么要通过effects 去改变呢』

这个问题就要问你自己了,在 vue 的组件里,直接发请求拿数据,然后直接赋值在 data 上也能刷新组件视图,干嘛用 vuexdispatch

是不是一样的问题?工具的使用源于工程上需求,如果你并没有这个需求,那自然感觉用这个工具是多余的

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