model层一般包含几个部分:
namespace:model的名字,用来在页面中找到要调用哪一个model,就跟id一样。
state:用来存数据的地方
reducers:方法,经常调用来把页面,后台传来的值存入state中。reducers 应该是一个 "纯函数",它的返回值作为新的 state。dva 会注入旧的 state 和 action 中的 payload,是否使用完全根据需要决定;返回值必须是一个新构造对象,绝不能把旧 state 的引用返回!
reducers干的事情和 React 中setState(prevState => { ... })很像,都要返回一个新构造的对象,但区别是:reducer 的返回值会整个取代 (Replace)老的 state,而 setState 中回调函数的返回值是会融合(Merge)到老的 state 中去。
effects:异步的方法调用