npm 包 create-reducer-ts 使用教程

阅读时长 7 分钟读完

什么是 create-reducer-ts

create-reducer-ts 是一个基于 TypeScript 的轻量级 reducer 创造器,它可以帮助我们更加简单而高效的编写 reducer。

create-reducer-ts 的使用方法

安装

引入

使用

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

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

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

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

参数说明

createReducer 接受两个参数:

  • initialState:初始状态
  • reducers:reducer 函数集合

reducers 集合的 key 为 action.type,值为处理当前 action 的 reduce 函数。

createReducer 的返回值

createReducer 函数会返回一个 reducer 函数,直接将其导出即可作为 Redux 应用的根 reducer。

createReducer 的作用

createReducer 的作用是帮助我们更加简单、高效的编写 reducer。其函数 signature 设计得十分灵活,既可以简单地自增、自减 state,也可以传入 payload 进行加减乘除等运算。

实际案例

假设我们有一个 TodoList 应用,其 state 状态包含以下三个值:

  • todos: Todo[]
  • filter: 'all' | 'done' | 'undone'
  • keyword: string

显然,我们需要编写许多 reducer 函数。

原始写法

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

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

在这个例子里,我们需要写出五个 reducer 函数,但是这样写比较冗余,代码也十分冗长。

使用 create-reducer-ts

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

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

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

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

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

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

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

可以看到,使用 create-reducer-ts 可以非常方便地将原来冗余和繁琐的代码简洁地进行了重构,实现同样的功能。

总结

通过本文的介绍,我们了解了 npm 包 create-reducer-ts 的使用方法,并成功应用于实际例子。使用 create-reducer-ts 可以大大缩减冗余代码,提高开发效率。

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

纠错
反馈