
redux
redux全面解析
qdmoment
全局掌控,剖析网站终端建设
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
applyMiddleware原理和middleware中间件原理及应用场景
首先看下redux执行流程: redux设计思想: (1)Reducer:纯函数,只承担计算 State 的功能,不合适承担其他功能,也承担不了,因为理论上,纯函数不能进行读写操作。 (2)View:与 State 一一对应,可以看作 State 的视觉层,也不合适承担其他功能。 (3)Action:存放数据的对象,即消息的载体,只能被别人操作,自己不能进行任何操作。 想来想去...原创 2018-11-13 13:43:24 · 3335 阅读 · 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 · 701 阅读 · 0 评论 -
redux原理——ruduce函数和compose函数
reduce()合并函数核心:每次的返回值是一个函数,再用该函数去执行下一个数组元素(数组元素先执行传入参数返回) 讲redux之前首先要理解一个函数-----reduce() 语法 array.reduce(function(total, currentValue, currentIndex, arr), initialValue) 参数说明: 一、function(total,curr...原创 2018-11-12 18:53:58 · 811 阅读 · 0 评论 -
redux中间件种类和各自的作用
redux-thunk 中间件 改造store.dispatch,解决异步操作 异步操作的第一种解决方案就是,写出一个返回函数的 Action Creator,然后使用redux-thunk中间件改造store.dispatch redux-promise 中间件 使得store.dispatch方法可以接受 Promise 对象作为参数 redux-logger中间件 日志中间件...原创 2018-11-15 12:22:05 · 1527 阅读 · 1 评论 -
react-redux核心api及原理
react-redux配合redux使用,可以使组件轻松的拿到全局状态,方便组件间的通信。 react-redux主要提供两个方法Provider,connect Provider主要用来传入store,这里不再做详细介绍,相信来看这篇文章的对其使用都很了解了。 接下来详细探讨下connect connect接收四个参数: connect([mapStateToProps], [map...原创 2019-04-15 18:32:49 · 982 阅读 · 0 评论 -
redux原理系列——createStore解析
createStore返回store对象,也是redux的状态存储对象。 createStore是一个构造函数对象,即function(reducer, preloadedState, enhancer){} 里面有五个方法,公用一些全局对象 全局变量: let currentReducer = reducer let currentState = preloadedState ...原创 2019-04-12 18:34:37 · 1048 阅读 · 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 · 608 阅读 · 0 评论 -
redux-saga源码剖析系列之channel
channel是通道的意思,redux-saga采用该理念设计,redux-saga的channel包括了: channel 通用通道(波段) 定义了takers(存放用于执行读取缓存的函数) put(input)消费任务 执行函数为空时,输入放入环形缓存区,反之输入作为takers第一个执行函数的参数执行 take(cb)生成任务环形缓存区为空时,...原创 2019-07-08 17:38:00 · 1249 阅读 · 0 评论