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 源码阅读记录的主要内容,如果未能解决你的问题,请参考以下文章

重读redux源码

redux 源码浅析

muduo2.0源码阅读记录

学习 redux 源码整体架构,深入理解 redux 及其中间件原理

Datax-web 源码阅读记录

JQuery源码阅读记录