インストール

モジュールをインストールします

  1. npm install @wordpress/data-controls --save

このパッケージは、あなたのコードがES2015+環境で実行されることを前提としています。そのような言語機能やAPIのサポートが限られているか、まったくない環境を使用している場合は、コードに@wordpress/babel-preset-defaultで提供されるポリフィルを含める必要があります。

モジュールによって返されるオブジェクトには、次のコントロールが利用可能です:

API

apiFetch

APIフェッチ呼び出しをトリガーするためのコントロールアクションをディスパッチします。

使用法

  1. import { apiFetch } from '@wordpress/data-controls';
  2. // Action generator using apiFetch
  3. export function* myAction() {
  4. const path = '/v2/my-api/items';
  5. const items = yield apiFetch( { path } );
  6. // do something with the items.
  7. }

パラメータ

  • request Object: フェッチリクエストの引数。

戻り値

  • Object: コントロール記述子。

controls

デフォルトエクスポートは、カスタムストアにコントロールを登録するために使用します。

使用法

  1. // WordPress dependencies
  2. import { controls } from '@wordpress/data-controls';
  3. import { registerStore } from '@wordpress/data';
  4. // Internal dependencies
  5. import reducer from './reducer';
  6. import * as selectors from './selectors';
  7. import * as actions from './actions';
  8. import * as resolvers from './resolvers';
  9. registerStore( 'my-custom-store', {
  10. reducer,
  11. controls,
  12. actions,
  13. selectors,
  14. resolvers,
  15. } );

戻り値

  • 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プロジェクトの一部である個別のパッケージです。このプロジェクトはモノレポとして整理されています。特定の目的を持つ複数の自己完結型ソフトウェアパッケージで構成されています。このモノレポ内のパッケージはnpmに公開され、WordPressや他のソフトウェアプロジェクトで使用されています。

このパッケージやGutenberg全体への貢献について詳しく知りたい場合は、プロジェクトの主要な貢献者ガイドをお読みください。