data controls 模块是一个旨在简化与 @wordpress/data 包配合使用的常用控件实现的模块。

注意:假设所使用的注册表已启用 controls 插件(有关 controls 的更多详细信息,请参见 此处)

安装

安装该模块

npm install @wordpress/data-controls --save

本包假设您的代码将在 ES2015+ 环境中运行。如果您使用的是对这类语言特性和 API 支持有限或完全不支持的環境,则应在代码中包含 @wordpress/babel-preset-default 随附的 polyfill。

模块返回的对象上提供以下控件:

API

apiFetch

分发一个控制动作以触发 api 获取调用。

用法

import { apiFetch } from '@wordpress/data-controls';

// Action generator using apiFetch
export function* myAction() {
    const path = '/v2/my-api/items';
    const items = yield apiFetch( { path } );
    // do something with the items.
}

参数

  • request Object:获取请求的参数。

返回

  • Object:控制描述符。

controls

默认导出是您用于将控件注册到自定义存储区的内容。

用法

import { controls } from '@wordpress/data-controls';
import { registerStore } from '@wordpress/data';
import reducer from './reducer';
import * as selectors from './selectors';
import * as actions from './actions';
import * as resolvers from './resolvers';

registerStore( 'my-custom-store', {
    reducer,
    controls,
    actions,
    selectors,
    resolvers,
} );

返回

  • Object:用于将默认控件注册到存储区的对象。

dispatch

在已注册的数据存储区中分发动作的控件。是 @wordpress/data 包中 dispatch 控件的别名。

参数

  • storeNameOrDescriptor string | StoreDescriptor:存储区对象或标识符。
  • actionName string:动作名称。
  • args any[]:原样传递给 @wordpress/data 控件的参数。

select

在已注册的数据存储区中解析选择器的控件。是 @wordpress/data 包中内置的 resolveSelect 控件的别名。

参数

  • storeNameOrDescriptor string | StoreDescriptor:存储区对象或标识符。
  • selectorName string:选择器名称。
  • args any[]:原样传递给 @wordpress/data 控件的参数。

syncSelect

在已注册的数据存储区中调用选择器的控件。是 @wordpress/data 包中内置的 select 控件的别名。

参数

  • storeNameOrDescriptor string | StoreDescriptor:存储区对象或标识符。
  • selectorName string:选择器名称。
  • args any[]:原样传递给 @wordpress/data 控件的参数。

为本包做出贡献

这是 Gutenberg 项目的一个独立包。该项目组织为 monorepo。它由多个自包含的软件包组成,每个包都有特定的用途。此 monorepo 中的包发布到 npm,并被 WordPress 以及其他软件项目使用。

要了解有关为此包或整个 Gutenberg 做出贡献的更多信息,请阅读项目的主 贡献指南。