Redux 源码阅读记录
Posted the-last
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Redux 源码阅读记录相关的知识,希望对你有一定的参考价值。
一,背景
Redux在mobx之前出现,redux基于Elm, flux, Immutable.js 的思想对状态管理重新做了优化。
在项目中使用时,Redux对数据更新和管理,可以很容易扩展插件,中间件等。
二,redux提供的api
1,compose
对传入的函数进行从右往左的方式编译,函数的合并。
代码实现如下:
/** * 从右往左,编译单个参数的函数。最右函数可以是多个参数的函数,提供单个编译函数。 * * @param ...Function funcs The functions to compose. * @returns Function A function obtained by composing the argument functions * from right to left.
* For example, compose(f, g, h) is identical to doing * (...args) => f(g(h(...args))). */ function compose() for (var _len = arguments.length, funcs = new Array(_len), _key = 0; _key < _len; _key++) funcs[_key] = arguments[_key]; if (funcs.length === 0) return function (arg) return arg; ; if (funcs.length === 1) return funcs[0]; // reduce 多次回归调用,函数是一个包裹的过程,从左往右包裹,执行时从右往左执行。
// 最后返回一个可以执行所有函数的 函数! return funcs.reduce(function (a, b) return function () return a(b.apply(void 0, arguments)); ; );
以上是关于Redux 源码阅读记录的主要内容,如果未能解决你的问题,请参考以下文章