这几天的一点dva 学习心得

时间:2022-03-25 16:27:52

    之前学习过react 和redux的状态管理,这几天在看dva;

    蚂蚁金服出了两个关于react的框架:1,dva--对于redux和路由的封装,因为redux管理状态不是太好写和维护,2,antDesign ----样式框架;

   用的话,首先的话应该引入一系列的dva模块;

  import    balabala from “balabala”

  再先new出来一个dva对象, 

    const app=new dva()

在这个对象的基础之上,有几个方法的调用比如app.model ( ), app.router( ) , app.start( );等方法;

其中app.model ({ } )中定义了namespace,state的初始化,reduces的规则定义;effects的异步调用 使用*(){}函数;subscritions定义一些数据源 ,来触发reducers的方法;

namespace :字符串 , 来定义整体的命名空间;

其他的四个 全部都是 传入对象的方式;

然后定义一个 标签变量(这里我们叫他HomePage好了) 来return 出页面的标签;

然后定义 mapStateToProps的方法来实现 model里的state的输出规则;

 使用dva里的{connect}方法来实现mapStateToProps的方法与HomePage的绑定;

  const     AppPage=connect(mapStateToProps)(HomePage);

继续定义app.router( ),把AppPage作为路由组件使用;

然后调用app.start( );绑定带页面的id 实现渲染;


最下面还可以写一些补充方法比如 effects的异步promise函数;