dva的概念

dva:是一个基于redux和redux-saga的数据流方案

dva的九个概念

(1)state(状态或者数据)

         数据的初始值,在dva初始化的时候和在model里面的state对其两处进行定义,其中modal中的优先级低于传给dva()的                 opts.initalState。

(2)Action(行为)可以是同步也可以是异步

         action的格式如下,它需要有一个type,表示这个action要触发什么事件,payload代表action传递的数据

(3)Model(模型)对数据进行整合和管理,逻辑都在这边进行处理分发

         1 namespacce:命名空间,唯一值,只能使用字符串,在发送action到相应的reducer时,就会需要用到namesapce

         2 state:存放数据(和之前的state概念一样,只是层级比较低)

         3 reducer(纯函数):以key/value格式进行定义,处理同步操作,唯一可以修改state的地方,有action触发

         4 effect(异步):异步处理逻辑,不直接修改state,只是从服务器获取数据,然后发起actiong交给reducer

*add(action, { call, put }) {
    yield call(delay, 1000);
    yield put({ type: 'minus' });
},

               put:用来触发action

               call:用来调用异步逻辑。支持promise

               select:用于从state获取数据

         5 subscription 订阅:用来订阅一个数据源:在数据源(时间,路由,服务器连接)改变时进行使用

(4) Router:路由配置信息

export default function({ history }){
  return(
    <Router history={history}>
      <Route path="/" component={App} />
    </Router>
  );
}

          RouteComponent:表示Router里匹配路径的组件,通常会绑定在model的数据

import { connect } from 'dva';

function App() {
  return <div>App</div>;
}

function mapStateToProps(state) {
  return { todos: state.todos };
}

export default connect(mapStateToProps)(App);

 

  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值