Web前端之路程序员技术栈前端开发

前端之路——Redux(01)

2019-05-31  本文已影响9人  三点水滴

理解Redux

官方文档是这样说的:

Redux is a predictable state container for JavaScript apps

翻译过来就是 Redux 是一个 JavaScript 应用的可预测的状态管理器

那么,什么是状态?

状态是什么

这里用一个简单的例子来说明。
台灯我们都知道,它包含灯泡,开关。

在这里,灯泡的就是台灯的状态。

一个 JavaScript 应用,从本质上来讲,就是一个能够响应用户操作的东西,台灯也是。用稍显专业的说法,就是一个系统。台灯与开关构成了一个简单的系统。

JavaScript 应用中,每当用户进行了一个操作,这个应用都会给予反馈。

这时,我们就说这个应用的状态发生了变化

为什么要Redux

要回答这个问题,我们需要先知道Redux是什么。

Redux是什么

本文开头就引用了官方文档中对Redux的概括——一个 JavaScript 应用的可预测的状态管理器。在理解了状态之后,我们大概猜测到,Redux就是管理 JavaScript 应用的状态的工具,当与用户进行交互的时候,可以对状态进行修改。

同样,对照到台灯与开关这个系统,Redux是这样的:

也就是说,JavaScript 应用在完成后有一个初始状态,这时候没有跟用户交互——生下来就是这副模样,接下来的生命周期里,状态变化都由Redux来管理。

Redux的优点是什么

为什么要用Redux,就是要说明Redux解决的问题是什么。
还是台灯。
只有一个开关,一个台灯,这是一个很简单的系统,完全不需要用到Redux也没有问题。
但是如果有十个开关,一个台灯。有一种开关是按一下开,再按一下就关,再按一下又开......按着按着,我们就不能清楚地知道接下来按下一个开关,是不是能关闭台灯了。
JavaScript 应用中,如果又多个页面与同一个状态相关,而且这些页面又可以独立变化,那么就很难跟踪这个状态。Redux就是为了解决这个问题。

Redux是通过坚持以下三个原则来实现这一点的:

上一篇 下一篇

猜你喜欢

热点阅读