Redux 的简单介绍及使用方法

前言

Redux 是一个用于管理应用程序状态的 JavaScript 库。它提供了一种可预测的状态管理方案,用于处理复杂应用程序的数据流。Redux 是在 React 社区中被广泛使用的一种工具,但它也可以与其他框架或库结合使用。

在本文中,我们将介绍 Redux 的概念,其组成部分以及如何使用 Redux 构建一个简单的应用程序。

Redux 概述

Redux 的核心思想是在应用程序中维护一个单一的状态树,即 store(仓库),并使用纯函数(reducers)来描述如何处理它。

  • Store:一个存储应用程序所有状态的对象。它是 Redux 中唯一的数据源,并且是不可变的,在任何时候只能通过 dispatch 一个 action 来更新它。
  • Action:一个描述发生了什么的纯 JavaScript 对象。它必须有一个 type 属性,它在 reducers 中被用来处理 action 的具体操作。
  • Reducer:一个纯函数,它在 Action 被 dispatch 之后决定如何更新 state。Reducer 接收旧的 state 和 action,并返回新的 state。Reducer 必须是纯函数,即它不能修改传入的参数,也不能有副作用。在 Redux 中,reducer 是唯一能够修改应用程序状态的地方。

Redux 使用方法

安装 Redux

要开始使用 Redux,您需要安装它以及与之相关的包。通过运行以下命令来安装它:

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

创建 Store

要创建一个 store,您需要定义一个初始状态对象,并创建一个 reducer 函数来处理状态更新。以下示例创建了一个简单的 reducer,它仅会将传入的值添加到 state 中:

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

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

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

在此示例中,initialState 是初始状态对象,counterReducer 是处理状态更新的 reducer 函数。请注意,reducer 函数采用两个参数:当前状态和 action 对象。reducer 返回更新后的状态对象。最后,createStore 函数创建了一个 store。

发送 Actions

要更新状态,您需要发送一个 action。以下是一个 action 示例:

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

它只是一个普通的 JavaScript 对象,其中包含一个 type 属性,它描述了要执行的操作。

要发送 action,请使用以下代码:

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

该代码将 action 对象发送到 Redux store。

获取 Store 中的数据

为了获取状态,请使用以下代码:

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

该代码返回 store 中的当前状态。

示例代码

以下是一个简单的示例应用程序,它演示了 Redux 的用法。此应用程序使用了上面提到的基本概念。

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

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

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

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

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

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

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

---------

在此示例中,我们创建了一个 store 和 counterReducer,它们处理 action。我们还定义了一个 render 函数,用于更新 DOM。最后,我们将 incrementdecrement 按钮绑定到 store 的 dispatch 方法,以便在单击按钮时发送相应的 action。store.subscribe 方法用于注册一个回调函数,该回调函数将在应用程序状态发生更改时被调用。这里我们将其用于在状态更改时重新渲染 UI。

结论

Redux 是一种非常有用的状态管理工具,它可以帮助您在 React 应用程序中管理状态,并确保状态更新是可预测的。在实现自己的应用程序时,可以使用该工具。

我们希望您通过本文学习了 Redux 的基础知识,并能够开始使用它。始终牢记 Redux 的核心思想和工作原理,将会让您的代码更加易于维护和管理。

来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/671079095f551281026b5c5f