React - dva理解
概述
dva是蚂蚁金服推出的一个单页应用框架,对redux,react-router,redux-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转化为对象
未完待续。。。

浙公网安备 33010602011771号