npm 包 redux-normalized-crud 使用教程

前言

在现代的 web 应用程序中,前端通常使用纯 JS 或 JS 框架来构建用户界面。Redux 是现在最受欢迎的状态管理库之一,在使用 Redux 的过程中,常常需要对数据进行规范化处理,以便在应用程序中更好地管理和使用数据。

redux-normalized-crud 是一个方便的 npm 包,它提供了一个针对具有规范化数据结构的 CRUD 操作(即创建、读取、更新和删除)的 Redux 转换器。它帮助您通过简化数据结构、重构 Redux 存储状态和操作来更轻松地管理数据。

本篇文章将引导您完成 npm 包 redux-normalized-crud 的使用教程,并附带示例代码。

安装

使用 npm 包管理器安装 redux-normalized-crud。在命令行输入以下命令:

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

基础教程

我们将介绍如何使用 redux-normalized-crud 完成 CRUD 操作。

添加 reducer 和 action

首先,我们需要定义 reducer 和 action。如果您之前使用过 Redux,那么您很熟悉这个过程。

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

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

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

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

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

在上面的例子中,我们使用 createReducer 函数创建一个名为 users 的 reducer。此外,我们定义了添加、更新和删除用户的 action。

这些 action 应该被分发到 reducer 中以通知其完成相应任务:

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

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

配置 normalize 函数

现在是时候把 redux-normalized-crud 插入到我们的 Redux 存储状态和操作了。redux-normalized-crud 使用 normalizr 库,该库帮助我们规范化数据。建议在开始使用前阅读 normalizr 文档。

让我们定义一个 schema,然后使用它在 normalizr 模块中定义规范化函数:

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

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

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

在上面的代码中,我们使用 normalizr 的 Schemanormalize 函数来处理规范化操作。将正常化数据作为输入并将规范化数据输出到 Redux 存储状态中。

配置从 store 中检索数据

现在,让我们定义一个 selector 函数,以便在我们的 Redux 存储状态中检索规范化的数据:

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

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

在上述代码中,我们定义 getUsers 函数,该函数将返回规范化的数据。

调用 getUsers(store.getState()) 将返回我们的规范化数据,代码如下:

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

完整的代码示例

下面是对上述所有部分的完整示例代码:

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

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

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

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

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

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

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

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

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

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

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

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

结论

redux-normalized-crud 提高了 Redux 开发人员的代码质量和代码的规范化程度。它提供了方便的工具来处理规范化操作,包括从 Redux 存储状态中检索规范化的数据。此外,它的使用也提高了代码的可读性和可维护性。

建议您在实际项目中使用 redux-normalized-crud,以提高代码的质量和可维护性。

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


猜你喜欢

  • npm 包 backgen 使用教程

    前言 在现代前端开发中,构建工具是必不可少的。而 backgen 就是一款非常好用的构建工具,它可以让我们更加高效的生成后端代码。本文将为大家介绍 backgen 的使用方法,包括安装、配置以及示例代...

    4 年前
  • npm 包 localbitcoin-node-v2 使用教程

    在前端开发中,很多时候我们需要与后端进行交互来获取一些数据。而有些时候我们需要使用第三方库来访问某些服务,比如使用 localbitcoin-node-v2 库来访问 LocalBitcoins 交易...

    4 年前
  • npm 包 eslint-config-lydell 使用教程

    什么是 eslint-config-lydell? eslint-config-lydell 是一个 eslint 的配置包,是一个针对 JavaScript 代码风格和语法检测工具的配置集合。

    4 年前
  • npm 包 state-capybara 使用教程

    在前端开发中,我们经常需要处理复杂的状态管理和视图操作。为了简化这些操作,开发人员可以使用 state-capybara 这个 npm 包。它是一个基于 Redux 的 state 管理库,提供了简单...

    4 年前
  • npm 包 acs-auth 使用教程

    在前端开发中,我们经常需要使用到授权相关的功能,例如用户登录、权限校验、Token 鉴权等。这些功能都需要我们编写一些重复的代码,而在市面上有很多现成的 npm 包可以帮助我们实现这些功能。

    4 年前
  • npm 包 jsonz_test4_20150925 使用教程

    介绍 npm(Node Package Manager) 是一个 Node.js 包管理器,允许用户下载并安装第三方模块。npm 包 jsonz_test4_20150925 是一款基于 JSON 格...

    4 年前
  • npm 包 omi-swiper 使用教程

    前言 前端开发中,轮播图是一个非常常见的功能,而 omi-swiper 是一个基于 Swiper 的 omi 轮播组件库。本文将为大家介绍如何使用 npm 包 omi-swiper 实现轮播图功能,并...

    4 年前
  • npm 包 leadhome-oxygen 使用教程

    在前端开发中,我们经常需要使用许多 npm 包来扩展应用的功能。其中,leadhome-oxygen 是一个非常实用的 npm 包,它提供了很多有用的工具函数和组件,可以帮助我们更加高效地开发应用。

    4 年前
  • npm 包 webpack-integration-plugin 使用教程

    前言 当前在前端开发中,Webpack 是一个非常重要的工具,它可以使我们的代码尽可能地优化,同时提升项目的效率。但是,我们在使用 Webpack 的时候也遇到了一些问题,比如在打包多个入口文件的时候...

    4 年前
  • npm 包 dom-event-proxy 使用教程

    前言 在前端开发中,处理 DOM 事件是一项基础而又重要的工作。在处理 DOM 事件时,我们经常会遇到需要在事件触发后对其进行特定处理的情况,如事件冒泡、事件捕获等。

    4 年前
  • npm 包 gudsi-mongodb-plugin 使用教程

    gudsi-mongodb-plugin 是一个基于 mongoose 的 MongoDB 数据库插件,它提供了数据记录的增、删、改、查等基础操作以及更高级的聚合查询功能。

    4 年前
  • npm 包 jasmine-json-reporter-delux 使用教程

    什么是 jasmine-json-reporter-delux jasmine-json-reporter-delux 是一个扩展了 Jasmine JavaScript 测试框架的 JSON 报告生...

    4 年前
  • npm 包 react-state-connect 使用教程

    介绍 React 是一种流行的 JavaScript 框架,用于构建 web 应用程序和用户界面。React 使得将应用程序的不同部分封装成不同的组件变得很容易,这使得应用程序结构更清晰、易于维护。

    4 年前
  • npm 包 idisposable 使用教程

    什么是 idisposable idisposable 是一个 npm 包,用于优雅地管理资源的生命周期,防止资源泄漏和内存泄漏。它是基于 Disposable Pattern 设计思想而创建的。

    4 年前
  • npm 包 jq-fakeloader 使用教程

    简介 jq-fakeloader 是一款基于 jQuery 的插件,可用于实现页面的加载动画效果。 这款插件的主要特点是可以自定义加载效果,支持多种加载方式,能够使网页看起来更加生动。

    4 年前
  • npm包react-image-progressive-loader使用教程

    介绍 在 Web 开发中,图片占据了页面中很大一部分的空间,因此优化图片的加载是提升 Web 性能的重要手段。其中,渐进式加载是一种比较好的优化方式,它可以让图片逐步显示,而不是一次性加载完成。

    4 年前
  • npm 包 @thepeaklab/styled-material-ui 使用教程

    前言 随着前端技术的不断发展,UI 组件库也变得越来越重要。而 @thepeaklab/styled-material-ui 是一个优秀的 UI 组件库,拥有丰富的组件、精美的风格,并且支持自定义主题...

    4 年前
  • npm 包 tsoa2 使用教程

    引言 在前端类的项目开发中,难免需要实现后端服务的接口,这时候我们最常用的方法就是通过开发一个 RESTful API 服务来进行接口数据的交互。而为了方便前端和后端的接口数据交互,我们需使用 tso...

    4 年前
  • npm 包 angular7-web-worker 使用教程

    什么是 angular7-web-worker? angular7-web-worker 是一个使用 Web Worker 将处理密集型计算任务移动到后台的 Angular7 的 NPM 包。

    4 年前
  • npm 包 react-generic-data 使用教程

    介绍 在前端开发中,数据的处理是很重要的一环。在 React 开发中,我们可能需要一个能够简化数据处理的工具,而 npm 包 react-generic-data 就是这样的一个工具。

    4 年前

相关推荐

    暂无文章