npm 包 @wordpress/data 使用教程

AI 编程助手,豆包旗下的编程助手,提供智能补全、智能预测、智能问答等能力,节省开发时间,释放脑海中的创造力,支持 VSCode,点击体验 AI

前言

随着前端框架的不断发展,越来越多的项目开始采用集成化的前端方案。这一过程中,状态管理工具不可或缺。

在 WordPress 后端领域中,已有成熟的 @wordpress/data 包,为前端提供了与 WordPress 后端交互的状态管理工具。本文将对该 npm 包进行详细教程介绍,并提供实用示例代码。

什么是 @wordpress/data?

@wordpress/data 是 WordPress 官方出品的状态管理工具,提供了灵活的状态树管理、与 REST API 交互的 data object 模型、以及数据钩子的能力。

要使用 @wordpress/data,在 WordPress 后端的主题、插件中,需要先引入该 npm 包:

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

如何配置 @wordpress/data?

@wordpress/data 提供了 registerStore 方法,用于注册状态树。

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

在上述代码中,我们注册了一个名为 my-plugin 的状态树,其中定义了 reducer,用于接受 action,并更新 state。

如何使用 @wordpress/data?

使用 @wordpress/data,需要先获取到 data object:

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

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

然后,通过 get 方法获取对应数据:

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

或者,使用 subscribe 方法,监听数据变化:

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

通过 dispatch 方法,可以发送 action,更新 state:

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

@wordpress/data 还提供了类似 Vue 组件 computed 和 watch 的 computed、selectors 方法,用于处理派生状态,以及 watch 数据变化。

@wordpress/data 的优劣

相比其他状态管理工具,@wordpress/data 的主要优势在于与 WordPress 后端完美集成。可以轻松读取 REST API 数据,也可以通过类似 WordPress 插件编写的方式编写前端数据插件。此外,@wordpress/data 是标准的 npm 包,可以方便地集成于任何前端项目中。

不足之处在于学习曲线较陡峭,需要熟悉 WordPress 插件机制,以及 Redux 的基础知识。此外,@wordpress/data 的响应式机制也需要注意,需要注册对应的 selector,才能实现响应式效果。

示例代码

下面提供一个利用@wordpress/data 实现 WordPress 后端页面侧边栏数据绑定的实例代码:

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

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

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

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


猜你喜欢

  • npm 包 jss-plugin-global 使用教程

    在前端开发中,我们经常需要设置全局样式,然而 jss 样式表默认只在作用域内生效,这里我们需要使用 jss-plugin-global 包来实现全局样式的设置。 安装 在项目中使用 npm 安装 js...

    4 年前
  • npm 包 jss-plugin-props-sort 使用教程

    在前端开发中,样式处理是非常重要的一项任务。JSS 是一种 CSS-in-JS 解决方案,它可以极大地简化 CSS 处理的工作量。在 JSS 中,props 代表一个组件的所有样式属性,常常需要对 p...

    4 年前
  • npm 包 light-ts-loader 使用教程

    如果你是一名前端开发者,那么你一定知道 TypeScript 在现代的前端开发中扮演了很重要的角色。而使用 TypeScript 进行开发的话,建议使用 webpack 进行打包。

    4 年前
  • npm 包 jss-plugin-vendor-prefixer 使用教程

    在前端开发过程中,我们经常需要考虑浏览器的兼容性,特别是对于 CSS 样式的兼容性处理。而 jss-plugin-vendor-prefixer 是一款可以帮助我们在 CSS 样式中自动添加浏览器厂商...

    4 年前
  • npm 包 @asset-pipe/css-reader 使用教程

    前言 在前端开发中,CSS 是不可或缺的一部分,而我们在项目中往往需要频繁的操作 CSS,如读取、分析、修改等等。因此,如果有一款能够实现这些操作的工具,将会大大提升开发效率。

    4 年前
  • npm 包 @asset-pipe/js-reader 使用教程

    在前端开发中,我们经常需要读取并处理 JavaScript 文件。而此时,@asset-pipe/js-reader 的功能就变得非常有用了。该 npm 包可以让我们轻松地读取 JavaScript ...

    4 年前
  • npm 包 @asset-pipe/sink-fs 使用教程

    简介 @asset-pipe/sink-fs 是一个在 Node.js 中使用的 npm 包,用于将输入流的内容保存到文件系统中的指定位置。如果你需要将程序输出保存到文件中,如日志文件或者静态资源文件...

    4 年前
  • npm 包 @asset-pipe/sink-mem 使用教程

    前言 在前端开发中,流水线(pipe)的概念是非常重要的,它能够将代码构建、压缩、合并等工作进行整合,提高开发效率和代码质量。而其中的一个重要部分就是数据“汇流处”——sink。

    4 年前
  • npm 包 @asset-pipe/server 使用教程

    在现代的前端开发中,模块化已经成为主流,很多项目都采用了模块化的开发方式。而在模块化的开发中,前端经常需要使用一些模块化的资源,如 CSS、 JS 等。而这些资源的管理,包括资源的打包、压缩、版本管理...

    4 年前
  • npm 包 @4c/build 使用教程

    简介 npm 是前端开发不可或缺的工具之一。@4c/build 是一款专门为前端开发量身定制的 npm 包,它提供了一套高效,易用,可定制的前端项目构建工具。使用 @4c/build 可以大大简化前端...

    4 年前
  • npm 包 @4c/init 使用教程

    在前端领域中,我们经常需要创建新的项目或者初始化现有项目的依赖。npm 是一个非常好用的依赖管理工具,在 npm 中可以找到很多有用的包,其中 @4c/init 是一个非常实用的包,可以帮助我们快速初...

    4 年前
  • npm 包 @4c/intl 使用教程

    在前端开发过程中,多语言支持是一个必不可少的功能。在市场上有许多提供多语言支持的工具和库,其中 @4c/intl 是一款非常优秀的 NPM 包。本文将介绍如何正确地使用 @4c/intl 进行多语言支...

    4 年前
  • npm 包 svg2c 使用教程

    前言 SVG是一种基于XML语法的矢量图形,在Web前端开发中被广泛应用。而npm是JavaScript中最经典的包管理器之一,被众多开发者使用。本文将介绍如何使用npm包svg2c将SVG矢量图像转...

    4 年前
  • npm 包 @manypkg/find-root 使用教程

    前言 在前端开发项目中,我们使用 npm 进行包管理是非常常见的。但是,有时候我们需要找到项目的根目录,这对于一些工具库的开发和测试非常有用。在这种情况下,npm 包 @manypkg/find-ro...

    4 年前
  • npm 包 @manypkg/get-packages 使用教程

    介绍 npm 是 JavaScript 的包管理器,被广泛应用于前端、后端、桌面应用程序等领域。当使用多个 npm 包时,我们需要知道这些包之间的依赖关系和版本约束,以便正确引入和管理这些包。

    4 年前
  • 使用 npm 包 ts-doctor 进行 TypeScript 代码修复:教程

    在前端开发中,TypeScript 是一种比较流行的静态类型语言。但是,开发者也可能会遇到一些令人困惑的 TypeScript 错误,这些错误可能出现在编译期间,也可能出现在开发期间。

    4 年前
  • npm 包 @4c/cli 使用教程

    介绍 @4c/cli 是一个基于 Node.js 平台的脚手架工具,它基于 Vue.js 和 Element 两个优秀的前端开源项目进行封装,旨在提供更快捷舒适的前端项目创建和脚手架管理体验。

    4 年前
  • npm 包 signedsource 使用教程

    前言 在前端开发过程中,代码质量非常重要。为确保代码的完整性和安全性,许多公司使用代码签名来验证代码的来源和完整性。其中一个流行的签名方案是 Facebook 开源的 signedsource,本篇文...

    4 年前
  • npm 包 @jsenv/cancellation 使用教程

    在 Web 开发中,我们经常需要处理异步任务。在某些情况下,我们可能需要取消正在执行的异步任务。例如,当用户在搜索框中输入文字时,我们需要取消之前的搜索请求并发起一个新的搜索请求。

    4 年前
  • npm 包 @jsenv/import-map 的使用教程

    概述 在现代 web 应用程序中,JavaScript 依赖管理是一个关键的问题。为了解决这个问题,使用模块化编程已经成为了一种标准,而 ES Modules 是其中最为流行的模块化形式。

    4 年前

相关推荐

    暂无文章