npm 包 reduct 使用教程

介绍

Redux 是一个非常优秀的状态管理库,在前端开发中很常用。但是 Redux 的 API 十分复杂,学习成本也很高。如果你想快速入门 redux,推荐使用 reduct 这个小巧、易用的 npm 包。

reduct 与 Redux 的差异主要在于它采用了更简单的 API,无需繁琐的 actions、reducers 的配置,只需要将业务逻辑抽象成一些纯函数即可。

安装

你可以通过 npm 安装 reduct:

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

基本用法

首先,在你的脚本中引入 reduct:

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

然后,定义一个纯函数,该函数接受一个状态参数和一个动作参数,并返回一个新状态:

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

接下来,使用 createStore 创建 store:

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

这里的 counter 就是上一步定义的纯函数。

最后,我们可以通过以下方式获取 store 中的状态:

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

我们还可以通过以下方式来修改 store 中的状态:

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

这里的 type 就是上一步定义中的 INCREMENTDECREMENT

使用 Action Crator

通常,我们使用 action creator 来创建动作对象。 action creator 是一个纯函数,用于生成动作。例如:

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

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

然后,我们可以使用这些 action creator 来调度动作:

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

处理异步操作

reduct 还提供了一个中间件机制,可用于处理异步操作。

在创建 store 时,引入 middleware:

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

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

在 reduct 中,你可以使用 action creator 来发起异步操作。例如:

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

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

上面的代码中,fetchData() 返回一个函数,该函数接受 dispatch 函数作为其参数,通过 dispatch 函数来发起动作。

示例代码

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

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

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

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

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

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

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

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

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

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

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

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

以上示例演示了 reduct 库的基本使用、action creator 的使用,以及异步状态获取的使用。

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


猜你喜欢

  • npm包sqlfile-loader使用教程

    随着前端项目的复杂化和模块化,我们经常需要使用到各种前端依赖库和工具,尤其是在涉及到数据存储和管理的时候。对于一些需要频繁读取 SQL 文件的项目,sqlfile-loader 是一个非常实用的工具,...

    4 年前
  • npm 包 spree-ember-checkouts 使用教程

    在前端开发中,使用npm包可以方便我们实现各种功能,提高代码的复用性和效率。本文将介绍一个名为spree-ember-checkouts的npm包,它是用于实现电商网站订单结算功能的一个前端框架。

    4 年前
  • npm 包 squeezebox 使用教程

    在前端开发中,经常需要对网站中的图片和视频进行响应式处理和缩放。这时候,我们可以使用 squeezebox 这个 npm 包来实现图片和视频的展示优化。 什么是 squeezebox squeezeb...

    4 年前
  • npm 包 spree-ember-storefront 使用教程

    前言 在前端开发中,我们经常会使用一些 npm 包来快速实现功能或加速开发进度。本文将介绍一个前端开发中常用的 npm 包 —— spree-ember-storefront,它是一个基于 Ember...

    4 年前
  • npm 包 Spree-Ember-Auth 使用教程

    Spree-Ember-Auth 是一款基于 Ember.js 的前端验证库,它可以轻易地与 Spree 集成,提供用户验证试。本文将介绍 Spree-Ember-Auth 的使用教程,并提供示例代码...

    4 年前
  • npm 包 squeezenode 使用教程

    简介 squeezenode 是一个 Node.js 的 npm 包,旨在提供与 Squeezebox 家庭音乐系统的通信接口。通过借助 squeezenode,在 Node.js 应用程序中可以实现...

    4 年前
  • npm 包 squeezer-event-node 使用教程

    在前端开发中,事件驱动编程是非常常见的一种编程思想。为了更好地实现事件驱动编程的思想,一个名为 squeezer-event-node 的 npm 包应运而生。这个 npm 包可以在 Node.js ...

    4 年前
  • npm 包 sseries-of-tubes 使用教程

    sseries-of-tubes 是一个优秀的 npm 包,它可以帮助前端开发者更加方便地处理对象和数组的操作。本文将以使用教程的形式,详细介绍如何使用该 npm 包。

    4 年前
  • npm 包 ssg-core 使用教程

    在前端开发中,我们经常需要使用静态网站生成器(static site generator,简称 SSG)来生成静态网站,这可以极大地提高网站的性能和安全性。而 ssg-core 就是一个强大的 SSG...

    4 年前
  • npm 包 squel-having-block 使用教程

    前言 在前端开发中,我们常常需要使用到各种库和工具来快速地完成开发任务,而 npm 作为世界上最大的软件注册表之一,也已成为了前端开发者不可或缺的工具之一。 在本篇文章中,我们将详细介绍一个 npm ...

    4 年前
  • npm包sseu-neun-mal使用教程

    简介 sseu-neun-mal是一款非常实用的npm包,它可以用来生成好看的韩文字体,可以应用于前端页面设计等领域中。本教程将为大家介绍如何使用该npm包,涵盖安装、调用以及可能的问题解决方案等方面...

    4 年前
  • npm 包 ssg-grunt 使用教程

    什么是 ssg-grunt? ssg-grunt 是一个面向静态网站生成器(SSG)的 npm 包,提供了一种简单、易用和高效的方式来构建和管理静态网站。 ssg-grunt 基于 Grunt 构建,...

    4 年前
  • npm 包 ssh 使用教程

    在前端开发中,经常需要使用 ssh 连接到远程服务器进行部署或管理。此时使用 npm 包 ssh 可以简化操作,提高效率。本文将介绍如何使用 npm 包 ssh,让你快速掌握 ssh 连接技巧。

    4 年前
  • npm 包 ssg-js 使用教程

    随着前端技术的不断发展,构建静态网站也变得越来越流行。而现在,有一个名为 ssg-js 的 npm 包能够帮助我们更方便地构建静态网站。本文章将为大家介绍 ssg-js 的使用教程,包括安装与配置、使...

    4 年前
  • npm 包 spree-ember-core 使用教程

    随着前端技术的不断发展,越来越多的前端工具出现在我们的视野中,其中就包括 npm 包 spree-ember-core。这个包是一个基于 Ember.js 的电子商务前端框架,为开发者提供了一系列丰富...

    4 年前
  • npm 包 ssh-add-config 使用教程

    在前端开发中,我们经常需要连接远程服务器进行代码的部署或测试。然而,每次连接服务器都需要手动输入服务器地址和密码,不仅麻烦,也不太安全。这时候,我们可以借助 ssh-add-config 这个 npm...

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

    简介 本文主要介绍基于 npm 包 spree-frontend-integration 的前端集成方案。spree-frontend-integration 是一个用于 Spree Commerce...

    4 年前
  • npm 包 spree-ember-paypal-express 使用教程

    前言 今天,我们将要介绍的是一款名为 spree-ember-paypal-express 的 npm 包。它是一个用于实现资金支付的前端类库,基于 Spree、Ember 和 PayPal Expr...

    4 年前
  • npm 包 spreedly-client 使用教程

    什么是 spreedly-client spreedly-client 是一个适用于 Node.js 和浏览器的 npm 包,提供了方便的访问 Spreedly 平台的 API 的接口。

    4 年前
  • npm 包 sprest 使用教程

    在前端开发中,我们经常会使用到各种 npm 包来简化开发流程。在这篇文章中,我们将介绍一款名为 sprest 的 npm 包,它可以帮助我们更加方便地发起请求和处理响应数据。

    4 年前

相关推荐

    暂无文章