npm 包 redux-typed-action 使用教程

阅读时长 5 分钟读完

前言

在现代前端开发中,难免会使用到各类 npm 包,Redux 作为流行的状态管理库也有不少相关的 npm 包,其中 redux-typed-action 就是一款较为实用的包,它提供了类型化的标准 Action 创建方法和 Action 类型定义,使得在编写 Redux 相关代码时,能更有智能提示和类型检查,降低了出错的概率。本文将介绍如何使用 redux-typed-action 包。

安装

redux-typed-action 包可以在 npm 上下载。

使用方法

在项目中引入 redux-typed-action 包,并创建一个类型化的 Action 创建方法。以下示例演示如何创建一个 ADD_TODO 的类型化 Action 创建方法:

在 createAction 函数中传入一个类型化字符串 ADD_TODO,这个字符串用于标识一个 Redux Action,同时该函数返回一个创建 Action 的函数。泛型 <{text: string}> 表示这个 Action 所带的数据类型是一个对象,该对象中有一个 text 属性,类型是 string。

接下来在 Reducer 中可以使用这个类型化的 Action。以下示例演示如何使用 ADD_TODO Action:

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

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

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

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

以上示例代码演示了如何使用 createReducer 函数,它创建了一个 Reducer 函数,第一个参数传入了初始状态 initialState,第二个参数是一个 Reducer 方法对象,其中 { [ADD_TODO]: (state, action) => {...} } 表示在处理 ADD_TODO 这个类型化的 Action 时,执行匿名函数,并传入当前状态 state 和 Action,该匿名函数中根据 Action 所带来的 text 属性,生成一个新的 todos 数组,将其与原有状态中的 todos 进行合并并返回。

接下来再进行一个示例,演示如何在组件中使用这个类型化的 Action 创建方法:

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

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

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

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

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

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

在组件中使用 useDispatch 方法获取一个 dispatch 函数,然后通过 addTodo 方法创建一个 ADD_TODO 类型的 Action 并传入所带的数据对象,最后将其传入 dispatch 函数中即可。

总结

redux-typed-action 包提供了类型化的标准 Action 创建方法和 Action 类型定义,可以让我们在编写 Redux 相关代码时,能更有智能提示和类型检查,降低了出错的概率,增加了开发效率。希望这篇文章能够给大家带来帮助。

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

纠错
反馈