npm 包 ngrx-demo-core-toni 使用教程

什么是 ngrx-demo-core-toni?

ngrx-demo-core-toni 是一个基于 angular 和 ngrx 的状态管理库,它的设计目的是让前端开发者更方便地使用 redux 核心的概念和功能。

安装

使用 npm 安装 ngrx-demo-core-toni:

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

开始使用

在你的组件中引入 ngrx-demo-core-toni:

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

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

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

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

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

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

这里我们订阅了 store 中 count 属性的变化,并在组件中使用了 count。同时我们还创建了两个按钮来 dispatch increment 和 decrement action。

在组件中使用这个库非常简单,通过这个示例你可以了解到这个库的核心使用方式。

进一步学习

除了上述的基本使用方法以外,ngrx-demo-core-toni 还提供了一些高级特性,比如 middleware 和异步 action。以下将进一步介绍这些特性。

Middleware

middleware 可以在每个 action 被 dispatch 时执行一些操作,比如记录日志、异步请求数据等。

使用 middleware 很简单,只需要将一个 middleware 函数添加到 store 中即可。这里我们创建一个简单的 logger middleware:

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

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

这个 logger middleware 将会在每个 action 被 dispatch 时记录日志。

异步 Action

有时候我们需要发送一些异步的 action,比如调用 API 请求数据,然后再 dispatch action。我们可以使用 redux-thunk 中间件来实现。不过 ngrx-demo-core-toni 中也内置了一个 async middleware 来简化异步操作。

首先我们需要创建一个 async action:

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

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

这个 async action 发送一个请求,等待结果,然后 dispatch LOAD_USERS_SUCCESS action 来触发 store 的更新。接下来我们需要使用 async middleware 来支持这个 async action:

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

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

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

这里我们创建了一个 asyncMiddleware,它会检查 action 是否是一个函数,如果是,则直接执行这个函数,并将 store 的 dispatch 和 getState 方法传递给它。

总结

ngrx-demo-core-toni 是一个非常好用的状态管理工具,它对于 redux 的核心概念进行了精简和优化,并提供了更方便的使用方式和更少的代码。如果你想要深入学习 redux,或者想要更方便地使用 redux,ngrx-demo-core-toni 是一个很好的选择。

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


猜你喜欢

  • npm 包 generator-blankcanvas 使用教程

    简介 在前端开发中,我们通常需要创建新的项目,每次都手动搭建项目框架和安装必要的依赖显然是非常浪费时间和精力的。在这种情况下,generator-blankcanvas 就能很好地满足我们的需求。

    2 年前
  • npm 包 marker-with-label 使用教程

    在前端开发过程中,地图组件是很常见的一个功能。而在地图上标记某些位置时,我们经常需要同时显示标记和文本信息。这时,我们可以使用一个叫做 marker-with-label 的 npm 包来快速实现这个...

    2 年前
  • NPM 包 node-keyboard-shapes 使用教程

    在前端开发中,我们经常需要处理键盘事件。而不同按键在键盘上的位置和形状也不同,这就需要我们对不同按键的形状和位置进行处理,以便实现更多的键盘交互效果。本文将介绍一个 NPM 包 node-keyboa...

    2 年前
  • npm 包 ebank-cli 使用教程

    在前端开发中,构建工具是必不可少的。而 npm 是前端最常用的包管理器,它提供了灵活的包管理和版本控制,让开发者更加方便的管理自己的代码。 而 ebank-cli 是一款基于 npm 的构建工具,它可...

    2 年前
  • npm包react-ruby使用教程

    React是目前最为流行的前端框架之一,它的高效、可重用和可维护等优点,已经使得越来越多的前端开发者和企业采用。在React框架中,Ruby是一种在React组件中嵌入Ruby语言的方法,它可以方便而...

    2 年前
  • npm 包 pkcs15-smartcard-sign 使用教程

    简介 pkcs15-smartcard-sign 是一个支持使用智能卡进行 PKCS#15 数字签名的 npm 包。该包提供了一个简单易用的接口,使得前端开发者能够在 Web 应用中使用智能卡进行数字...

    2 年前
  • npm 包 lazytree 使用教程

    lazytree 是一个基于 React 的 npm 包,它提供了一种简单的方式来加载异步数据,以及在加载数据时显示 loading 动画、错误提示等。在前端开发中,我们经常需要加载异步数据,并需要在...

    2 年前
  • npm 包 Metalsmith-md-2 使用教程

    Metalsmith 是一个基于 Node.js 的静态站点生成器,它使用插件进行构建。其中,Metalsmith-md-2 是一个 Metalsmith 的插件,它可以将 Markdown 文件编译...

    2 年前
  • npm 包 react-css-filter 使用教程

    介绍 react-css-filter 是一个基于 React 和 CSS Filter 的 npm 包,可以轻松地在 React 应用程序中使用各种图像滤镜。使用这个 npm 包,你可以轻松地给你的...

    2 年前
  • npm包angular-navbar使用教程

    概述 在前端开发中,导航栏是非常重要的一个组件。angular-navbar是一个npm包,提供了一套用于构建导航栏的AngularJS指令和CSS样式。本文将详细介绍如何在你的AngularJS应用...

    2 年前
  • npm 包 arimaa-viz 使用指南

    Arimaa 是一种策略游戏,可以理解为扩展版的中国象棋,其规则简单却又充满变化。arimaa-viz 是一个使用 React.js 开发的插件,可以方便展示 Arimaa 棋谱。

    2 年前
  • npm 包 clock-timer 使用教程

    前言 在前端开发中,时钟计时器这个功能很常见,而在实现时钟计时器的时候,我们可以使用现有的 npm 包来快速解决问题,一款名为 clock-timer 的 npm 包,非常适合用来实现时钟计时器。

    2 年前
  • npm 包 html-es6-template-loader 使用教程

    简介 现代前端开发中,使用模板引擎成为了必不可少的一部分。而 html-es6-template-loader 是一个非常优秀的开源工具,它可以帮助开发者将 HTML 模板转换为 ES6 模块,从而在...

    2 年前
  • npm 包 string-css 使用教程

    简介 在前端页面开发中,CSS 样式表是必不可少的部分。但是,CSS 代码经常出现重复的情况,这不仅使代码变得臃肿,而且也不利于代码的可维护性。为了解决这个问题,我们可以使用 npm 包 string...

    2 年前
  • npm包zip-object-2使用教程

    在前端开发中,处理数据时我们经常需要把两个数组合并成对象,非常麻烦。在这种情况下,我们可以通过使用npm包zip-object-2来解决这个问题。 本文将详细介绍zip-object-2的使用教程,并...

    2 年前
  • npm包the-crawler-base 使用教程

    前言 在Web开发中,经常需要从网页或网站中抓取数据,进行分析或处理。实现这个功能的一种常见方式是使用爬虫。the-crawler-base是一个用Node.js编写的npm包,提供了一个基础的爬虫框...

    2 年前
  • npm 包 @react-shared/ootb-store 使用教程

    前言 在 Web 开发中,状态管理是必不可少的一项技术。但是,状态管理的实现方式千差万别,前端开发者常常会被纷繁复杂的技术选项和不同的使用方式所困惑。本文将介绍一种使用简单但功能强大的状态管理工具:n...

    2 年前
  • npm 包 @scott113341/github-to-omnifocus 使用教程

    前言 作为一名前端工程师,我们经常需要处理 GitHub 上的任务,比如代码审查、维护 issue 列表等等。但若没有一个好的任务管理工具,很容易就会被任务搞得一塌糊涂。

    2 年前
  • npm 包 xor-honeycomb 使用教程

    引言 前端开发中,我们经常会使用到各种 npm 包来方便我们的工作和提升开发效率。其中,xor-honeycomb 是一个非常有用的 npm 包,它能够帮助我们处理位运算中的异或操作。

    2 年前
  • npm 包 boil-your-typescript 使用教程

    在前端开发中,TypeScript 成为了越来越多开发者的首选语言。但是,手写 TypeScript 代码可能会比较繁琐和易错。为此,有很多的 npm 包可以帮助我们更好地编写 TypeScript ...

    2 年前

相关推荐

    暂无文章