npm 包 react-redux-infuser 使用教程

阅读时长 6 分钟读完

前言

在开发大型应用程序时,状态管理往往是非常重要的部分。Redux 是一个流行的状态管理库,它使得在 JavaScript 应用程序中实现可预测的状态变化变得容易。但是,Redux 的使用需要编写大量的代码。React-Redux 是一个流行的 Redux 的封装,它为我们提供了少量的 API 来链接之间 React 组件和 Redux 存储。但是,在某些情况下,React-Redux API 常常让人感到困惑。

这时,我们可以使用 react-redux-infuser。

react-redux-infuser 是一个非常简单且优雅的库,它把 React 和 Redux 关联在一起,并提供了一个简单易用的 API 以帮助您轻松管理 Redux 状态。

安装

你可以使用 npm 或 yarn 来安装 react-redux-infuser。在命令行中分别输入以下命令即可:

示例代码

接下来,我们将创建一个示例应用程序,以演示如何在 React 中使用 react-redux-infuser。下面是我们的文件夹结构:

第一步是将我们的应用程序与 Redux 存储链接起来。创建一个新文件,名为 store.js。以下是该文件的代码:

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

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

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

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

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

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

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

在上面的代码中,我们首先定义一个 action 类型 ADD_TODO,并创建一个名为 addTodo 的动作创建函数,该函数接受一个文本参数并返回一个 action。然后,我们定义 todosReducer 函数,该函数接受当前 state 和一个 action,根据 action 的类型更新 state 并返回一个新的 state。

我们还定义了根 reducer,该 reducer 将 todosReducer 作为子 reducer,并创建了 Redux 存储,该存储使用 Redux DevTools 扩展增强。

现在,我们的 Redux 存储已经准备好,接下来我们将创建一个 React 组件来使用它。以下是我们的 App.js 文件:

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

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

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

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

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

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

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

在上面的代码中,我们首先导入 useDispatch 和 useSelector 函数,以及我们在 store.js 中创建的 addTodo 动作创建函数。然后,我们在组件中使用 useDispatch 和 useSelector 函数来访问 store 中的状态和操作。我们还创建了一个状态 text 和两个处理函数 handleSubmit 和 handleChange。handleSubmit 函数在表单提交时 dispatch 了一个 addTodo 动作,将 text 加入到 Redux 中。handleChange 函数更新了文本输入框中的文本。

最后,我们在 JSX 中渲染状态并显示 todo 列表。

现在,我们可以在 index.js 文件中呈现我们的应用程序:

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

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

在这里,我们首先导入 Provider 组件,该组件将 store 作为属性传递给它。在 ReactDOM.render 函数中,我们将 App 组件包裹在 Provider 组件中,并将根 DOM 元素传递给 render 方法。

总结

在本教程中,我们学习了如何使用 react-redux-infuser。我们通过设置 Redux 存储和创建一个 React 组件来演示如何使用 react-redux-infuser。我们了解了如何使用 useDispatch 和 useSelector 函数,以及如何在组件中 dispatch 动作。react-redux-infuser 是一个非常强大的库,可以在 React 和 Redux 之间提供一个简单且易用的 API。

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

纠错
反馈