redux,react-redux,react-thunk,react-saga,dvaJS记录

394 阅读2分钟

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:状态