一,背景
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)); }; }); }
原文地址:https://www.cnblogs.com/the-last/p/11634455.html
时间: 2024-11-08 15:49:30