npm 包 redux-named-reducers 使用教程

什么是 redux-named-reducers

Redux 是一个非常流行的 JavaScript 状态管理库,它为应用程序提供了可预测的状态容器,并被广泛运用在前端开发中。而 redux-named-reducers 是一个为 Redux 打造的 npm 包,用于处理多个命名 reducer 并构建对应的 Reducer 组。

redux-named-reducers 的安装

redux-named-reducers 是一个 npm 包,你可以通过以下命令进行安装:

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

redux-named-reducers 的使用

创建 reducer

在仅使用 Redux 时,通常会将所有 reducer 组成一个统一的 reducer,类似于这样:

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

在使用 redux-named-reducers 时,可以换种思路,将每个 reducer 都定义为一个独立的模块,这样就可以有效模块化 redux 并且更方便拓展。此时我们可以直接从 redux-named-reducers 中导入 combineNamedReducers:

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

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

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

可以看出,combineNamedReducers 这个函数与 combineReducers 极为相像,都接收一个对象作为参数,对象键名表示该 reducer 的名称,对象值则为 reducer 函数本身。

更改 state

redux-named-reducers 使你更容易操作 state 对象。通过该库导出的 createAction 和 createActions 可以轻易地创建 redux actions:

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

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

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

这个简单的示例库导出了一个 action 生成器,可以轻松创建此类简单的 action。我们可以在适当的时候 dispatch 这些 action,从而更改应用中的 state。

State 初始化

为了进行 state 的初始化,我们可以使用 createStore 原本的初始化形式(即 createStore(reducer, initialState) 的第二个参数),它提供了 reducer 的初始状态。对于每个命名 reducer,我们可以分别使用以下方式初始化:

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

redux-named-reducers 的示例代码

下面是一个更完整的示例:

  1. 创建命名 reducer
-- -----------

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

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

------ ------- ---------
  1. 创建 action
-- ---------

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

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

------ - ---------- --------- --
  1. 创建 store
-- --------

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

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

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

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

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

------ ------- ------
  1. 在应用中使用
-- ------

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

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

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

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

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

通过引用 combineNamedReducers 和 createAction,我们在 reducer 中定义了名称化的 reducer 和使用名称对初始 state 进行初始化的对象。这使得应用程序中的所有部件都可以独立于 Redux 存在,并且可以轻松地按照需要更改。在 action.js 中,我们可以通过 createAction 进行 action 的定义,同样方便快捷;在 store.js 中,我们可以像以前一样创建一个 Redux store,并使用我们上面定义的 reducer 对其初始化。最后,在 App.js 中,我们将 Redux store 传递给 Provider,并通过 connect 将状态和行动中的部件 wrapped 包装起来,以实现该应用程序中的计数器。

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


猜你喜欢

  • npm 包 webpack-enzyme-externals 使用教程

    在前端开发中,webpack 和 enzyme 是两个非常重要且广泛使用的工具。其中,webpack 是一个 JavaScript 应用程序的静态模块打包器,而 enzyme 是一个用于测试 Reac...

    4 年前
  • npm 包 webpack-express-dev-server 使用教程

    前言 前端开发已经成为了现代Web开发最为重要的组成部分。在前端开发中使用webpack是非常常见的,在这个过程中,webpack-express-dev-server是一个非常有用的工具包。

    4 年前
  • npm 包 weblog-demo 使用教程

    什么是 weblog-demo weblog-demo 是一款基于 Node.js 平台的 npm 包,它可以帮助前端开发者在本地快速部署一个简单的博客系统,它不仅支持文章的增、删、查、改等基础功能,...

    4 年前
  • npm 包 weblog-file 使用教程

    简介 在前端开发过程中,我们经常需要记录系统运行日志,跟踪应用的状态和运行情况。而其中最经典的一种方式,就是使用 weblog 来记录日志。npm 包 weblog-file 则提供了一种便捷的解决方...

    4 年前
  • npm包weblog-frontend使用教程

    前言 在前端开发中,经常会用到各种第三方库和插件,这些库和插件通常以npm包的形式发布,使得我们的开发流程更加便捷快捷。在本文中,我们将介绍一个非常实用的npm包——weblog-frontend,该...

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

    前言 在前端开发中,我们通常需要记录用户行为数据。为此,我们可以利用日志记录工具,比如 log4js、winston等。这些日志记录工具的本质是将日志信息写入文件或数据库,方便我们对用户行为数据进行分...

    4 年前
  • npm 包 weblog-mssql 使用教程

    前言 log 是软件开发的重要组成部分之一,最常见的日志就是记录程序运行时产生的信息。在生产环境中,程序的日志往往需要落地到文件或者数据库中,以便后续的排查和监控。

    4 年前
  • npm 包 weblog-mysql 使用教程

    概述 weblog-mysql 是一个 Node.js 模块,它可以将 Web 应用程序的日志信息存储到 MySQL 数据库中。使用该模块可以方便地对 Web 应用程序进行日志记录和管理。

    4 年前
  • NPM包 weblogjs使用教程

    在Web开发中,日志是一种非常重要的工具,可以记录应用程序的运行情况、问题和错误,以便更好地了解和调试应用程序。 Web开发人员可能不得不编写自己的日志记录软件,但是,使用社区提供的现有工具,我们可以...

    4 年前
  • NPM包Weblogng-logger使用教程

    简介 Weblog-ng是一个非常实用的集中管理和分析日志的方式,是将各个源的事件发送到中央收集器(例如NetFlow设备、Linux服务器等),同时Weblog-ng也是一个后端框架。

    4 年前
  • npm 包 webpack_sync 使用教程

    引言 在前端开发过程中,我们经常使用 webpack 进行模块打包和构建。但是,在某些情况下,我们需要将构建过程中的某个操作与其他操作同步进行,比如部署到测试环境或者生产环境等。

    4 年前
  • 使用 webpackify 进行前端开发

    什么是 npm 包 webpackify Webpackify 是一个基于 Webpack 的前端构建工具,可以将各种前端资源打包成一个或多个 JavaScript 文件,在前端开发中使用较为广泛。

    4 年前
  • npm 包 @_pearofducks/webpack-plugin-serve 使用教程

    Webpack 是 Web 应用程序打包工具,它可以将多个 JavaScript 文件打包成一个可运行的 Web 应用。而 @_pearofducks/webpack-plugin-serve 是一个...

    4 年前
  • npm 包 webpack-eval-loader 使用教程

    在前端开发过程中,使用构建工具可以大大提高开发效率和代码质量。webpack 是当前最流行的前端构建工具之一,而 webpack-eval-loader 可以帮助我们更方便地调试 webpack 打包...

    4 年前
  • npm 包 webpack-everflow-config 使用教程

    对于前端工程师来说,webpack 是一个非常重要的工具,它可以将各种资源进行打包和优化,使得我们的网站加载速度更快、体验更好。而对于复杂的前端项目来说,webpack 的配置也变得相当复杂。

    4 年前
  • npm 包 webdanfe 使用教程

    前言 作为前端开发人员,我们通常会需要生成电子发票或网上增值税发票(即“电子普通发票”),其中关键的一步是根据业务数据生成发票文件。这个过程可能需要实现多项“电子发票”规范中的要求,例如:数据格式、签...

    4 年前
  • npm 包 webdash-performance-budget 使用教程

    在前端开发中,性能是非常关键的指标之一。为了确保我们的应用程序在性能方面有所提升,我们可以使用 webdash-performance-budget 这个 npm 包。

    4 年前
  • npm 包 webm-byte-stream 使用教程

    简介 WebM 是一种打包 WebM 视频格式的格式,它包含了带有 WebM 视频文件的注释和元数据。npm 包 webm-byte-stream 提供了一种将 WebM 视频转换为字节流的解决方案,...

    4 年前
  • npm包 webmake-coffee 使用教程

    简介 在前端开发中,为了提高开发效率,很多开发者会选择使用NPM包管理工具,并且在项目开发中,往往需要使用各种各样的NPM包。本文将介绍一款NPM包——webmake-coffee,并详细讲解如何使用...

    4 年前
  • 使用 webpack-extract-translation-keys-plugin 提取多语言文本

    在开发多语言前端应用程序时,必须将所有文本转换为可翻译的变量。对于大型项目,这可能会变得非常繁琐。解决这个问题的一种方法是使用 webpack-extract-translation-keys-plu...

    4 年前

相关推荐

    暂无文章