npm 包 Pelorus 使用教程

简介

Pelorus 是一个用于管理 web 应用程序状态的简单 JavaScript 库。它的设计理念是“渐进式地管理你的状态”,也就是说你可以在不同的组件中随时引入 Pelorus 并使用它进行状态管理。Pelorus 提供了状态“装载”、“更新”、“卸载”等基础功能,并支持多种存储、常见语法和异步状态的处理。

安装

你可以通过 npm 进行安装:

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

示例

装载

Pelorus 像其他一些状态管理库一样,可以帮助你追踪各个组件的状态。首先,让我们安装并初始化一个 Pelorus 实例:

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

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

这里我们创建了一个空的 Pelorus 实例,并且传入了一个 state,表示我们初始化时组件的状态。每个 Pelorus 实例都有一个 state 字段,表示状态数据的哈希表。接下来,我们将状态注入组件:

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

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

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

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

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

这里我们使用 React 做为视图框架,使用 useState() 将当前状态和更新器捆绑在一起。然后,我们调用 Pelorus 实例的 mount() 方法,注册该状态的组件。最后,我们将更新器作为参数,在更新状态时根据指定的状态名称获取该组件的所有实例。此时,每次应用更新,组件的状态都会被更新。

状态存储

使用 Pelorus 后,数据状态存储的方式很灵活。你可以存储状态在本地、远程,甚至是在一些云服务等等。这里展示一下如何将状态存储在 localStorage 中:

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

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

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

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

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

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

注意:Pelorus 实例初始化时允许添加 storage 变量,并将当前状态存储在窗口对象的 localStorage 中。此时使用 Pelorus 的状态具有持久性,刷新后将保留它的状态。

异步状态处理

现实世界的应用有很多是由异步请求组成的。Pelorus 实例同样也支持异步请求,只要你愿意。

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

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

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

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

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

这里使用 useEffect() 监听当前的状态,并在数据加载期间将状态设置为“Loading...”行文时。当数据加载完成后,使用 pelorus.update() 更新状态数据。这样使得 Pelorus 处理异步状态非常方便。

结论

Pelorus 可能不是最强大的状态管理工具,但它简单、小巧而且容易上手。

使用 Pelorus 可以让你在状态管理方面更高效、更方便。你可以以增量的方式使用它,在不同组件和应用程序间搭起一座稳定的桥梁。如果你刚刚开始学习前端开发,还没有用过状态管理,那 Pelorus 是一个不错的选择。

让我们在开发应用程序时将其纳入范围,并看看它如何帮助我们编写干净、清晰、简易的代码。

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


猜你喜欢

  • npm 包 guardini 使用教程

    前言 在现代 Web 应用程序中,前端与后端使用多个技术栈或平台共同工作。使用 npm 包可以使前端开发更加快捷且高效。随着项目规模的增大,应用程序中的代码也会变得更加复杂,因此需要有效地保证代码的质...

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

    随着时代的变迁,互联网浪潮中 WEB 前端越来越重要,同时跨国公司的出现,WEB 前端的国际化需求也愈加严重。国际化便是指在软件开发中为适应 "不同国家,不同语言,不同习惯" 的用户使用而进行的软件全...

    2 年前
  • npm 包 roland 使用教程

    简介 npm 是世界上最大的软件包管理器之一,其中 npm 包 roland 是一个用于前端开发的工具,让开发者可以更加高效地快速搭建一个纯前端的体验生成器。 本文将详细介绍本工具的使用方法和操作步骤...

    2 年前
  • npm 包 roblox-js-adv 使用教程

    roblox-js-adv 是一个基于 Node.js 平台的 npm 包,用于与 Roblox 游戏联动。本教程将会介绍该包的使用方法,并提供示例代码。 安装 roblox-js-adv 使用 np...

    2 年前
  • npm 包 tjsdoc 使用教程

    在前端开发中,注释文档是非常重要的一部分,tjsdoc 就是一款帮助开发者自动生成文档的 npm 包,让注释文档的编写更为便捷和高效。本篇文章就详细介绍 tjsdoc 的使用教程。

    2 年前
  • npm 包 rc-table-forked 使用教程

    在前端开发中,我们经常需要处理表格数据,而使用 React 开发时,rc-table 是一个常用的表格组件。但是,在实际使用中可能会遇到一些问题,例如表格滚动时会出现数据错位的问题。

    2 年前
  • npm 包 @cvpcasada/redux-undo 使用教程

    前言 在前端开发中,使用状态管理库可以提高代码可维护性和效率。在状态管理库中,Redux 是目前最为流行的一种选择。但是,对于复杂的应用程序,Redux 中的状态变化可能非常频繁,造成代码难以调试或维...

    2 年前
  • npm 包 codemirror-sane 使用教程

    简介 CodeMirror 是一个广泛使用的前端代码编辑器,但默认情况下它不支持预处理、模板语法等一些高级特性。codemirror-sane 是一个 npm 包,它提供了一些额外的插件来扩展 Cod...

    2 年前
  • npm 包 momicons 使用教程

    简介 Momicons 是一个开源的图标库,拥有包括 Web、iOS、Android、Windows 和 macOS 在内的多个平台的多个应用程序的图标。母子图标概念源自 CSS-Tricks 中的 ...

    2 年前
  • npm包 sugo-module-say 使用教程

    介绍 sugo-module-say是一个npm包,用于在node.js环境下,快速实现语音播报功能。通过该npm包,你可以很容易地在你的应用程序中使用语音功能,向用户播报重要的信息。

    2 年前
  • npm 包 sbs-sdk 使用教程

    前言 sbs-sdk 是一个为开发人员提供的 JavaScript SDK,用于与 SmartBill 云端 API 交互。在本教程中,我们将学习如何使用它来简化连接 SmartBill 平台的过程。

    2 年前
  • npm 包 sugo-module-noop 使用教程

    介绍 sugo-module-noop 是一个基于 SUGOS 开发的 npm 包,它提供了一个轻松方便的方式来创建一个什么都不做的模块,从而方便了前端开发工作。 安装 要安装 sugo-module...

    2 年前
  • npm包aze.stat-machine使用教程

    前言 在前端开发中,我们常常需要使用到状态机来处理各种复杂的状态转移,但是在不同的项目中,状态机的需求和表达方式都不尽相同。在这种情况下,使用npm包aze.state-machine可以让我们更加高...

    2 年前
  • npm 包 sugo-module-shell 使用教程

    前言 sugo-module-shell 是一个在前端中使用的 npm 包,它可以轻松地创建命令行界面(CLI)。在本教程中,我们将深入了解这个包的特性和使用方法。

    2 年前
  • npm 包 stellite 使用教程

    随着 Web 应用的发展,前端领域的技术越来越多,开发效率提高的同时,需要掌握的知识也变得越来越多。在前端开发中,使用 npm 包可以大大提高开发效率。 在本文中,我们将介绍一款名为 stellite...

    2 年前
  • npm 包 bulma-material-form 使用教程

    在开发前端页面时,样式是一个必不可少的元素。为了让开发更加高效、快捷,我们可以使用各种前端库和框架来实现一些常见的界面效果。bulma-material-form 是一种基于 Bulma 样式库的表单...

    2 年前
  • 给前端开发者的 npm 包 css-with-mapping-loader 使用教程

    前言 在前端开发中,使用 CSS 预处理器是一个常见的选择。常见的 CSS 预处理器包括 Sass 和 Less 等。使用这些预处理器,可以使样式编写更加简单直观,同时还能提高 CSS 的维护性和可重...

    2 年前
  • npm 包 passport-hubspot-oauth2.0 使用教程

    前言 随着企业向数字化转型的迅猛发展,软件的开发变得越来越重要。作为 Web 应用的前端工程师,我们需要使用各种不同的工具和技术来满足各种不同的需求。其中,npm 是前端工程师最常用的包管理器之一。

    2 年前
  • npm 包 @umayr/react-docgen 使用教程

    在开发前端应用程序时,文档和注释是极其重要的工具。文档和注释可以帮助你更快速地理解代码,更好地协作和维护项目,同时也可以提高代码的可读性和可维护性。在 React 中,组件文档和注释也很重要。

    2 年前
  • npm 包 postcss-uncss-jsdom 使用教程

    在前端开发中,很多时候我们需要使用各种不同的 CSS 样式表和 JavaScript 库来实现我们的设计和功能,这些文件包含了大量的冗余代码。而 postcss-uncss-jsdom 就提供了一种去...

    2 年前

相关推荐

    暂无文章