redux
redux全面解析
qdmoment
全局掌控,剖析网站终端建设
展开
-
applyMiddleware原理和middleware中间件原理及应用场景
首先看下redux执行流程:redux设计思想:(1)Reducer:纯函数,只承担计算 State 的功能,不合适承担其他功能,也承担不了,因为理论上,纯函数不能进行读写操作。(2)View:与 State 一一对应,可以看作 State 的视觉层,也不合适承担其他功能。(3)Action:存放数据的对象,即消息的载体,只能被别人操作,自己不能进行任何操作。想来想去...原创 2018-11-13 13:43:24 · 3241 阅读 · 0 评论 -
redux的combineReducers简单实现
combineReducers简单封装const combineReducers = reducers => { return (state = {}, action) => { return Object.keys(reducers).reduce( (nextState, key) => { nextState[key] = re...原创 2018-11-14 12:03:09 · 649 阅读 · 0 评论 -
redux原理——ruduce函数和compose函数
reduce()合并函数核心:每次的返回值是一个函数,再用该函数去执行下一个数组元素(数组元素先执行传入参数返回)讲redux之前首先要理解一个函数-----reduce()语法array.reduce(function(total, currentValue, currentIndex, arr), initialValue)参数说明:一、function(total,curr...原创 2018-11-12 18:53:58 · 731 阅读 · 0 评论 -
redux中间件种类和各自的作用
redux-thunk 中间件 改造store.dispatch,解决异步操作异步操作的第一种解决方案就是,写出一个返回函数的 Action Creator,然后使用redux-thunk中间件改造store.dispatchredux-promise 中间件 使得store.dispatch方法可以接受 Promise 对象作为参数redux-logger中间件 日志中间件...原创 2018-11-15 12:22:05 · 1480 阅读 · 1 评论 -
react-redux核心api及原理
react-redux配合redux使用,可以使组件轻松的拿到全局状态,方便组件间的通信。react-redux主要提供两个方法Provider,connectProvider主要用来传入store,这里不再做详细介绍,相信来看这篇文章的对其使用都很了解了。接下来详细探讨下connectconnect接收四个参数:connect([mapStateToProps], [map...原创 2019-04-15 18:32:49 · 660 阅读 · 0 评论 -
redux原理系列——createStore解析
createStore返回store对象,也是redux的状态存储对象。createStore是一个构造函数对象,即function(reducer, preloadedState, enhancer){}里面有五个方法,公用一些全局对象全局变量: let currentReducer = reducer let currentState = preloadedState...原创 2019-04-12 18:34:37 · 983 阅读 · 0 评论 -
手动编写redux中间件,compose合并中间件过程和原理解析(函数柯里化思想)
github地址:本文实例完整源码地址中件件的原理是dispatch(action)之前进行其他操作:代码实例:单个中间件:const next = store.dispatch;const dispatchImitation = function(action){ console.log('我是中间件') next(action)}//原来的disptch(action)...原创 2019-06-18 01:11:02 · 569 阅读 · 0 评论 -
redux-saga源码剖析系列之channel
channel是通道的意思,redux-saga采用该理念设计,redux-saga的channel包括了:channel 通用通道(波段) 定义了takers(存放用于执行读取缓存的函数) put(input)消费任务 执行函数为空时,输入放入环形缓存区,反之输入作为takers第一个执行函数的参数执行 take(cb)生成任务环形缓存区为空时,...原创 2019-07-08 17:38:00 · 1187 阅读 · 0 评论