npm包 redux-state-utils使用教程

什么是redux-state-utils

redux-state-utils 是一个用于 Redux 状态管理的工具库,旨在简化 Redux 状态建模的难度。它提供了一组强大的高阶函数,帮助开发者轻松地管理 Redux 状态和数据流程。

安装

使用 NPM 安装:

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

或者使用 Yarn 安装:

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

如何使用

1. createAction

createAction 是一个工厂函数,创建一个返回纯对象的 action 构造器。它接收 type 字符串和其他可选负载参数,并返回一个函数,返回的函数带有 type 和负载属性。

示例代码如下:

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

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

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

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

2. createReducer

createReducer 是一个高阶函数,它接收状态初始值和一个类型/处理字典。在不同的 action 类型下,reducer 将会处理带有不同数据负载的对象。

示例代码如下:

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

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

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

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

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

3. createAsyncActions

createAsyncActions 是一个工厂函数,创建了一个用于异步操作的三个 action 构造器,分别是:开始,成功和失败。它接收一个 type 字符串并返回一个对象,该对象包含 START, SUCCESSFAILURE action 构造器。

示例代码如下:

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

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

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

4. createAsyncReducer

createAsyncReducer 是一个高阶函数, 它接收初始状态,一个 type 处理器映射表和一个包含异步 action 的类型的数组。在 createAsyncReducer 返回的 reducer 中,每个异步 action 都有它自己的两个特殊的状态属性: loadingerror,用于表示异步操作是否正在进行中和是否出现错误。

示例代码如下:

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

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

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

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

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

结论

Redux-state-utils 是一个在 Redux 状态管理中非常实用的工具库,可以极大地简化 Redux 状态建模的复杂度,提高开发效率。本文介绍了 redux-state-utils 的四个核心特性和用法,并且通过示例代码让读者能够更好地学习和理解 redux-state-utils 的用法和意义。

来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/60065b43c6eb7e50355dbdb1


猜你喜欢

  • npm 包 mzc-ng-api 使用教程

    前言 npm 是 Node.js 的包管理工具,常常用于安装、管理和发布 JavaScript 代码包。mzc-ng-api 是一个基于 Angular 框架设计的 API 封装库,可以帮助前端开发人...

    3 年前
  • npm 包 pluralsight-reusable-react-components 使用教程

    Pluralsight Reusable React Components 是一个由 Pluralsight 开发的可复用 React 组件库,其中包含了许多常用的组件,比如按钮、表格、标签、轮播图等...

    3 年前
  • npm 包 react-loading-screen 使用教程

    在开发 React 应用时,许多开发者都会需要实现一个加载动画来提高用户体验。react-loading-screen 就是一款专门用于实现加载动画的 npm 包。

    3 年前
  • npm 包 squeezer-serve 使用教程

    在前端开发中,我们经常需要启动一个本地服务器来运行我们的应用程序或静态网站。为了方便快捷地进行服务器的搭建和管理,我们可以使用 npm 包 squeezer-serve。

    3 年前
  • npm包ts-proptype-extractor使用教程

    在前端开发中,我们通常需要进行数据类型校验,这也是一个非常基础的技能。而typescript通过静态类型检查和泛型的使用帮我们在这方面更容易实现。但在使用非typescript项目时,我们怎样方便地简...

    3 年前
  • npm 包 aws-health 使用教程

    简介 aws-health 是一个 npm 包,用于查询 Amazon Web Services (AWS) 健康状态。它使用 AWS 健康 API 提供的数据,根据所选的服务和 region 返回健...

    3 年前
  • npm 包 m3u8download 使用教程

    简介 m3u8download 是一款基于 Node.js 的 npm 包,它可以帮助我们下载 M3U8 视频,适用于前端开发工程师和视频爱好者。 安装 通过 npm 安装 m3u8download:...

    3 年前
  • npm 包 cordova-plugin-appsflyer-old-ka 使用教程

    前言 在现今的移动应用市场中,应用的数据追踪和分析是非常重要的。AppsFlyer 是一款非常出色的数据追踪工具,而 cordova-plugin-appsflyer-old-ka 正是一款非常优秀的...

    3 年前
  • npm 包 look-of-disapproval 使用教程

    前言 在前端开发中,我们经常需要表达一些负面情绪,比如生气、不满、鄙视等等。这时候,我们可以使用一些特殊的表情符号,例如 ಠ_ಠ,来表达我们的情绪。然而,在每次需要输入这样的表情符号时,都手动输入会显...

    3 年前
  • npm 包 @getty.io/react-native-form 使用教程

    简介 @getty.io/react-native-form 是一个基于 React Native 开发的 UI 组件库,旨在帮助前端开发快速构建高品质的移动端表单页面。

    3 年前
  • npm 包 cordova-plugin-bluetoothscanner 使用教程

    前端开发是一个迅速发展的领域,对于移动设备、 Web 应用和桌面应用等场景,开发者都需要使用 Node.js 的包管理器 npm。npm 不仅集成了大量优秀的包,而且有很多功能可以提高开发效率。

    3 年前
  • npm 包 node-ip-details 使用教程

    在前端开发中,我们需要经常获取用户的 IP 地址以便进行位置或地理信息的获取或记录等操作。针对此需求,我们推荐使用 npm 包 node-ip-details。 本文将为您介绍如何使用 node-ip...

    3 年前
  • npm 包 publisher-log-viewer 使用教程

    在前端开发中,npm 是非常重要的工具和平台,它可以方便地管理和使用开源的 JavaScript 包和工具。在 npm 中,有很多优秀的第三方包供我们使用,其中一些包提供了非常有用的功能帮助我们更好地...

    3 年前
  • npm 包 sinkaddress 使用教程

    简介 npm 包 sinkaddress 是一个用于生成引流地址的工具。在前端开发中,我们经常需要为特定场景生成引流地址,例如:活动邀请、分享等。sinkaddress 能够根据指定参数生成唯一的引流...

    3 年前
  • npm 包 transliter 使用教程

    介绍 transliter 是一个能够将文本中的中文字符转化为对应的拼音的 npm 包。它可以供前端开发者在开发中使用,尤其是在需要对中文进行转换的场景中,如搜索中文关键字等。

    3 年前
  • npm 包 angular2-notifications-zth 使用教程

    简介 angular2-notifications-zth 是一个为 Angular 2+ 开发者设计的通知插件。它可以帮助开发者方便地在前端实现通知功能,包括成功提示、错误提示、警告提示等常见的提示...

    3 年前
  • npm 包 tlvince-sandbox-travis-double-builds 使用教程

    在前端开发过程中,自动化工具和流程变得越来越重要。有一段时间,为 Github 项目建立 Travis CI 自动构建和部署是前端开发的热门话题。然而,遇到由于缓存和环境等多方面原因导致构建失败、测试...

    3 年前
  • npm 包 @yavuzovski/freecodecamp 使用教程

    简介 @yavuzovski/freecodecamp 是一个为了 FreeCodeCamp 课程设计的 npm 包。 FreeCodeCamp 是一个免费的学习编程的网站,提供了完整的课程体系,并且...

    3 年前
  • npm 包 codesign-validator-fix 使用教程

    介绍 codesign-validator-fix 是一个 npm 包,它可以帮助开发者在 macOS 平台下修复 iOS 应用程序签名(codesign)问题。当开发者在使用 Xcode 进行应用程...

    3 年前
  • npm 包 file-to-array-buffer 使用教程

    file-to-array-buffer 是一个可以使用 Node.js 或浏览器中 FileReader API 将文件转为 ArrayBuffer(字节数组) 的 npm 包。

    3 年前

相关推荐

    暂无文章