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 做出贡献的更多信息,请阅读项目的主 贡献指南。