从 0 到 1 打造一款 Redux 应用

阅读时长 6 分钟读完

Redux 是一款非常流行的 JavaScript 状态管理库,它可以帮助开发者更好地管理应用的状态。在本文中,我们将从零开始构建一款 Redux 应用,包括 Redux 的核心概念和使用方法。

Redux 的核心概念

在使用 Redux 之前,我们需要了解一些核心概念。

Action

Action 是一个 JavaScript 对象,它描述了一个操作的类型和数据。例如,我们可以创建一个增加计数器的 Action:

这个 Action 描述了一个类型为 INCREMENT 的操作,它的数据是 1

Reducer

Reducer 是一个纯函数,它接收一个当前状态和一个 Action,返回一个新的状态。例如,我们可以创建一个简单的计数器 Reducer:

-- -------------------- ---- -------
-------- -------------------- - -- ------- -
  ------ ------------- -
    ---- ------------
      ------ ----- - --------------
    ---- ------------
      ------ ----- - --------------
    --------
      ------ -----
  -
-

这个 Reducer 接收一个当前状态和一个 Action,根据不同的 Action 类型返回一个新的状态。

Store

Store 是一个包含状态和 Reducer 的对象,它提供了一些方法来更新状态和订阅状态的变化。例如,我们可以创建一个简单的 Store:

这个 Store 包含了我们之前创建的计数器 Reducer。

Action Creator

Action Creator 是一个函数,它返回一个 Action。例如,我们可以创建一个增加计数器的 Action Creator:

这个 Action Creator 接收一个参数 amount,返回一个类型为 INCREMENT,数据为 amount 的 Action。

构建一个简单的 Redux 应用

现在我们已经了解了 Redux 的核心概念,我们可以开始构建一个简单的 Redux 应用。我们的应用将包含一个计数器,用户可以增加或减少计数器的值。

安装 Redux

我们首先需要安装 Redux:

创建 Reducer

我们可以创建一个简单的计数器 Reducer:

-- -------------------- ---- -------
-------- -------------------- - -- ------- -
  ------ ------------- -
    ---- ------------
      ------ ----- - --------------
    ---- ------------
      ------ ----- - --------------
    --------
      ------ -----
  -
-

这个 Reducer 接收一个当前状态和一个 Action,根据不同的 Action 类型返回一个新的状态。

创建 Store

我们可以创建一个简单的 Store:

这个 Store 包含了我们之前创建的计数器 Reducer。

创建 Action Creator

我们可以创建一个增加计数器的 Action Creator:

这个 Action Creator 接收一个参数 amount,返回一个类型为 INCREMENT,数据为 amount 的 Action。

我们也可以创建一个减少计数器的 Action Creator:

这个 Action Creator 接收一个参数 amount,返回一个类型为 DECREMENT,数据为 amount 的 Action。

更新状态

我们可以使用 Store 的 dispatch 方法来更新状态。例如,我们可以增加计数器的值:

这个代码会将一个类型为 INCREMENT,数据为 1 的 Action 发送到 Store,Store 会根据我们之前创建的计数器 Reducer 返回一个新的状态。

订阅状态变化

我们可以使用 Store 的 subscribe 方法来订阅状态变化。例如,我们可以在状态变化时打印计数器的值:

这个代码会在状态变化时打印当前的状态。

示例代码

下面是一个完整的示例代码:

-- -------------------- ---- -------
------ - ----------- - ---- -------

-------- -------------------- - -- ------- -
  ------ ------------- -
    ---- ------------
      ------ ----- - --------------
    ---- ------------
      ------ ----- - --------------
    --------
      ------ -----
  -
-

-------- ----------------- -
  ------ -
    ----- ------------
    -------- ------
  -
-

-------- ----------------- -
  ------ -
    ----- ------------
    -------- ------
  -
-

----- ----- - ---------------------------

------------------ -- -
  -----------------------------
--

----------------------------
----------------------------
----------------------------

这个代码会打印以下内容:

结论

在本文中,我们介绍了 Redux 的核心概念和使用方法,并构建了一个简单的 Redux 应用。Redux 是一个非常强大的状态管理库,可以帮助开发者更好地管理应用的状态。如果你想深入学习 Redux,建议阅读 Redux 官方文档。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/67610bef03c3aa6a560898df

纠错
反馈