npm 包 @wildpeaks/store 使用教程

简介

在前端开发中,我们常常需要面对复杂的状态管理,例如全局状态、组件状态等。这些状态的变化会触发页面的重绘或者甚至是发送网络请求等操作。而 @wildpeaks/store 就是一款轻量级的状态管理工具,它可以帮助我们轻松地管理各种状态。

安装

安装 @wildpeaks/store 可以使用 npm :

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

在项目中引用 @wildpeaks/store :

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

创建 store

使用 createStore 方法可以创建一个新的 store :

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

store 可以包含以下四个属性:

  • state :存储所有的状态。
  • mutations :处理状态的更新,可以看作是 setters 。
  • actions :封装异步操作。
  • getters :计算衍生状态。

使用 state

通过 store.state 可以访问所有的状态:

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

使用 mutations

通过 store.commit 方法可以调用 mutations 来更新状态:

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

mutations 接收的第一个参数是 state ,第二个参数是 mutation 的载荷,通常是一个对象,它可以包含多个属性。以 updateMessage 为例:

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

使用 actions

actions 可以封装异步操作。通过 store.dispatch 方法可以调用 actions 。

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

actions 接收的第一个参数是 context ,它包含以下几个属性:

  • state :当前的状态。
  • commit :调用 mutations 来更新状态。
  • dispatch :调用其他 actions 。
  • getters :计算出的状态。

使用 getters

getters 可以计算出衍生状态。通过 store.getters 方法可以访问所有的 getters 。

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

示例代码

纯前端例子:

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

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

后端例子:

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

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

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

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

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

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

总结

通过本文,我们了解了如何使用 @wildpeaks/store 来管理前端的状态。可以看出 @wildpeaks/store 更加简洁、灵活,适合用于小型项目的状态管理。在状态管理方面,虽它不像 Redux 或 Vuex 那样成体系,但在其核心概念的理解上更加容易。如果你正在管理一个小型项目,不妨尝试使用 @wildpeaks/store 来管理状态,相信你会有所收获。

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


猜你喜欢

  • npm包 @rtsao/verdaccio 使用教程

    前言 npm 是 Node.js 的包管理器,是 Node.js 生态系统的核心,也是前端圈必不可少的工具。而 @rtsao/verdaccio 是一个开源工具,是 npm 的一个私有仓库。

    4 年前
  • npm 包 @daniel.husar/a11y-static-report 使用教程

    前言 对于前端开发来说,我们不仅需要关注用户的体验,也需要关注网站的可访问性。这意味着我们需要确保我们的网站对于所有用户都是可访问且易于使用的,包括视力和听力障碍,手部和残疾人等等。

    4 年前
  • npm 包 joesfuncs 使用教程

    介绍 npm 是一个 Node.js 包管理器,可以通过 npm 安装、发布和管理 Node.js 模块。joesfuncs 是一个 npm 包,其中包含了一些前端常用的函数,如过滤数组、格式化日期、...

    4 年前
  • npm 包 @kurkov87/ngx-analytics 使用教程

    前言 在今天的互联网时代,网站或应用程序想要得到更好的用户体验和更好的转化率,都需要不断优化和调整。其中数据分析是不可或缺的一部分。而 ngx-analytics 的 npm 包提供了一种简单,灵活且...

    4 年前
  • npm 包 @alfsnd/vue-bootstrap-select 使用教程

    前言 在现代 Web 开发中,前后端分离的架构已经成为了主流。而前端作为 Web 应用的入口,承担着呈现数据、业务逻辑控制、性能优化等诸多关键任务,应用越来越复杂。

    4 年前
  • npm 包 rubify 使用教程

    介绍 npm是Node.js的包管理器,用于下载和安装Node.js模块。使用npm,开发者可以方便地在项目中使用已有的JavaScript组件。 rubify是一个npm包,它可以将字符串转换为Ru...

    4 年前
  • npm 包 @jporto/vue-jedi 使用教程

    介绍 @jporto/vue-jedi 是一个 Vue 组件库,提供了一些常见的 UI 组件和工具类,可以帮助我们快速开发基于 Vue 的前端项目。其中包括表单元素、提示框、弹出框、进度条等等。

    4 年前
  • npm包ag-crud-rethink使用教程

    ag-crud-rethink是一个Node.js和RethinkDB的CRUD库,可以帮助前端开发者更好地管理和维护应用程序数据。本文将介绍ag-crud-rethink的使用方法和具体操作,希望能...

    4 年前
  • npm 包 lomake 使用教程

    介绍 lomake 是一个基于 React 的表单构建工具,通过配置化的方式帮助开发者构建表单,避免手写大量的 HTML 和表单验证逻辑。lomake 支持多种输入类型,并提供了一些常用的校验规则。

    4 年前
  • npm 包 electron-plugin-manager 使用教程

    1. 概述 electron-plugin-manager 是一个 npm 包,可以方便地管理 Electron 应用程序中的插件。electron-plugin-manager 可以从本地或远程位置...

    4 年前
  • npm 包 @panterazar/nestjs-prom 使用教程

    在开发 Web 应用程序时,性能监控是非常必要的一件事情。因此,引入一种运行时指标监控工具是非常必要的。nestjs-prometheus 是一个基于 NestJS 的运行时指标监控工具,可以帮助你监...

    4 年前
  • npm 包 @softwarepioniere/language 使用教程

    什么是 @softwarepioniere/language @softwarepioniere/language 是一个 JavaScript 库,它提供了一组工具,使您可以轻松地在您的应用程序中实...

    4 年前
  • npm 包 jquery-text-marquee 使用教程

    当我们需要实现一个文字滚动效果时,jquery-text-marquee 是一款非常不错的 npm 包,它提供了一系列函数和方法,可以让我们很容易地实现各种文字滚动效果。

    4 年前
  • npm 包 intl-list-format 使用教程

    前言 在前端开发中,我们常常需要对列表数据进行格式化输出。例如,我们可能需要将一个列表的数据以某种规则进行拼接,生成类似于“苹果、橘子和香蕉”这样的结果。虽然我们可以自己编写相应的代码来完成这个任务,...

    4 年前
  • npm 包 cartesian-mutable 使用教程

    前端开发过程中,我们经常需要处理列表,数组和对象。这些数据结构通常需要进行各种复杂的操作,例如遍历、过滤、映射等。因此,很多前端开发人员需要使用一些方便的数据操作工具库。

    4 年前
  • npm 包 flightplandb 使用教程

    什么是 flightplandb flightplandb 是一个 Node.js 包,它提供了一种从世界各地的机场查询和计算商业航班航线的能力。它使用了最新的航班计划数据,可以计算出最快、最短和最好...

    4 年前
  • NPM 包 @addr/debouncer 使用教程

    Javascript 已成为前端开发的主流语言之一,它的生态系统也在不断地扩大。NPM(Node Package Manager)是 Javascript 生态系统中最为著名的包管理工具,让我们轻松甚...

    4 年前
  • npm 包 campzimmer-photo-sphere-viewer 使用教程

    前言 在前端开发中,我们经常会涉及图片展示的问题。而其中,360 度全景图片展示是一种独特而美妙的体验,非常适合各种场景,比如旅游相关网站,房屋出租或销售等等。 为了解决这个需求,我们可以使用 cam...

    4 年前
  • npm 包 @daniel.husar/a11y-report 使用教程

    在现代的网页设计中,无障碍(a11y)已经成为了越来越重要的一个概念。通过使用无障碍技术,我们能够让每个用户都能够轻松地访问我们的网站,包括一些有特殊需求的用户,比如盲人、色盲、低视力人士、老年人等等...

    4 年前
  • npm 包 shift-codegen-cli 使用教程

    前言 随着前端开发日新月异,越来越多的 npm 包被开发出来满足日常需求。而 shift-codegen-cli 就是其中一个方便快捷的 npm 包,它可用于生成抽象语法树(AST)的代码。

    4 年前

相关推荐

    暂无文章