React - dva理解

概述

  dva是蚂蚁金服推出的一个单页应用框架,对reduxreact-routerredux-saga进行了上层封装。redux-saga是一个用于管理redux应用异步操作的中间件,redux-saga通过创建sagas将所有异步操作逻辑收集在一个地方集中处理,可以用来代替redux-thunk中间件

  • 这意味着应用的逻辑会存在两个地方
    (1) reducer负责处理action的stage更新
    (2) sagas负责协调那些复杂或者异步的操作
  • sagas是通过generator函数来创建的
  • sagas可以被看作是在后台运行的进程。sagas监听发起的action,然后决定基于这个action来做什么 (比如:是发起一个异步请求,还是发起其他的action到store,还是调用其他的sagas 等
  • 因为使用了generator函数,redux-saga让你可以用 同步的方式来写异步代码

基本知识

未使用dva下的目录经常是这样的:

actions
   --/ user.js
   --/ team.js
reducers
   --/ user.js
   --/ team.js
sagas/
   --/ user.js
   --/ team.js

  

dva将其合并:

models
   --/ user.js
   --/ team.js

 dva的几个概念

namespace       =>  combineReducers中对应的key值
state           =>  对应初始的state,也就是initialState
effects         =>  saga的处理函数
reducers        =>  对应reducers,不同的是,写法上将switch...case转化为对象  

 未完待续。。。



posted @ 2018-07-25 11:08  木已成木炭  阅读(658)  评论(0)    收藏  举报