dva 框架

2018-08-17  本文已影响0人  笨zh笨笨

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.

 (6)query:是http 地址后面附带的参数,方便传参,不用通过路由配置传参。             http://localhost:8035/attendance/personal/leave?id=jsjj23jxsu355&name=zhangsan

query={id:"jsjj23jxsu355",name:"zhangsan"}

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

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

2、Component:所有的UI组件

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

作者:Tina任

链接:https://www.jianshu.com/p/fd114f99c236

來源:简书

简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

3、JSON

JSON.parse(text)     用于将一个字符串转换为JavaScript 对象。

JSON.stringify(obj)     用于将 JavaScript值转换为 JSON 字符串。

上一篇 下一篇

猜你喜欢

热点阅读