npm 包 redux-store-filler 使用教程

阅读时长 14 分钟读完

Redux 是一个流行的 JavaScript 应用程序状态管理库。Redux Store Filler 是一个强大的工具,它可以帮助你轻松地填充 Redux 存储中的数据。本文将为您介绍如何使用这个工具。

安装

使用 npm 安装 Redux Store Filler:

我们可以将他保存在开发依赖里,因为它只是用来测试数据。

使用

首先,导入 redux-store-filler:

然后,定义您的 Redux 存储:

现在,我们可以使用 fillStore 函数来填充我们的 Redux 存储:

上面的代码将添加一个包含两个任务和一个过滤器的状态到 Redux 存储中。

示例代码

首先,让我们创建一个简单的 Redux 应用程序。

源代码

src/actions/index.js

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

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

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

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

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

src/reducers/index.js

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

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

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

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

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

src/containers/VisibleTodoList.js

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

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

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

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

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

src/components/TodoList.js

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

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

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

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

src/components/Todo.js

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

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

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

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

src/index.js

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

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

src/store.js

src/components/App.js

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

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

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

测试代码

src/setupTests.js

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

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

这段代码将在每次测试运行之前自动填充我们的 Redux 存储。

src/reducers/index.test.js

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

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

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

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

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

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

src/tests/components/App.test.js

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

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

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

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

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

总结

本文详细介绍了如何使用 npm 包 redux-store-filler 填充 Redux 存储。我们还提供了一个示例代码,让您更好地了解如何在项目中使用这个工具。使用这个工具可以大大简化数据测试的编写,并且能够帮助您快速有效地测试您的 Redux 应用程序。希望这篇文章能够帮助你提升你的前端技能和开发经验。

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

纠错
反馈