dva-antd学习笔记

1、Model:

(1)、namespace:空间名,类似redux的仓库名。

(2)、state :存放state变量

(3)、reducers:一般用于修改state,可在function通过connect绑定到props里的dispatch直接调用。

payload:传值的对象的别名,所以dispatch里的payload实际上就是给action.payload绑定了相关参数

(4)、effects:一般用于处理业务逻辑,包含三个方法,call,select,put,call用来调用api接口,可获取返回值,接口有返回值才会继续往下走。select用于获取state变量。put作用的dispatch相同,可让effects里的方法调用修改state的方法。

(5)subscriptions:这个一般用于监听路由。比如,users路由触发,切换到users页面。react原来的写法,你想在界面初始化的时候就做一些事情就得基于react的生命周期函数,,这里可以用这个监听器代替。自带dispatch ,dispatch可以调用reducers和effects.

query:是http 地址后面附带的参数,方便传参,不用通过路由配置传参。

问题一:就像我之前写在componentWillMount()里面的发送请求的方法,可以写在这里?

答案:先监听路由,确认被访问,然后直接dispatch调用effects去请求API。每一次路由变更,所有的model的这个subscription的setup都会被触发,所以这个的判断一定要写好。

2、Component:所有的UI组件

在components里面连接对应的Model,connect会把namespace对应的state绑定到props,并且还会绑定dispatch给props。

你可能感兴趣的:(dva-antd学习笔记)