redux
redux 管理react管理器,他会生成store树
Action:异步请求store,通过dispach请求
Reducer:处理action的函数,他是一个纯函数,得到新的函数并返回新的state
createStore:创建store树
combineReducers:将多个Reducer合并到一起
applimiddleware:将多个中间件串联进行调用,如react-thunk
binActionCreators:当需要把action传到下一个组件上,但是不想着组件察觉到redux的存在,而且不希望吧dispach或者store传给他
Compose:从右到左把接收到的函数组合成一个最终函数
react-redux
react-redux将组件分为容器组件和UI组件,容器组件处理逻辑,UI组件进行渲染和触发容器组件
<Provider store={store}></Provider>:根组件,他会把组件包起来,通过store来进行调用
content:他会把props和dispatch放到props,
mapStateToProps和mapDispatchToProps:这两个方法就是把state和dispach放到store树上
react-thunk
react-thunk是redux的中间件,处理异步的Action,在action中调用接口
react-saga
react-saga是一个用于管理redux应用异步操作的中间件,可以实现异步请求,他会监听dispatch的type,当监听到后,就会执行异步操作 (通过Generator来进行调用9*65/82/-)
监听的方法:
take:监听未来的action,当监听到就会触发异步请求,
takeEvery:每次发起action都会触发这个监听,允许多个实例同时启动,
takeLatest:值允许执行一个,并且是最后启动的
不常用:
throttle:规定多少时间之后才会调用,类似于节流
辅助函数
put:发起action,只针对reducer
call:发起异步请求,且返回回调函数,阻塞函数,他会等请求结束才会走下一步
fork:发起请求,但是他不是异步请求,请求fork会立即执行下一步
select:获取store的state函数,可以进行和当前对比
dvaJS
dvajs:是redux和redux-saga的集合,内置了react-router和fetch,运用的也是redux-saga的generator进行调用
namespace:域名,当页面调用的时候需要加上域名
effects:监听,是否调用异步请求
reducers:与redux一样
state:状态