Redux 源码阅读记录

时间:2019-10-08
本文章向大家介绍Redux 源码阅读记录,主要包括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)); }; }); }

原文地址:https://www.cnblogs.com/the-last/p/11634455.html