メインコンテンツへスキップ
WooCommerce 開発者向けドキュメント

WooCommerce の公式ドキュメントの日本語訳

英語版ドキュメント | サポート

< All Topics
Print

schema

スキーマストア (wc/store/schema)

概要

スキーマストアは WooCommerce ブロックに関連するルートを管理し、与えられた名前空間のルートデータの効率的な取得と更新を可能にします。このストアはリソースルートとのやりとりを効率化し、モジュールが必要に応じてエンドポイントパスに簡単にアクセスできるようにします。

このストアを利用するには、SCHEMA_STORE_KEYを参照するモジュールで__INLINE_CODE_0__をインポートします。@woocommerce/block-datawc.wcBlocksDataを指す外部として登録されていると仮定すると、__INLINE_CODE_2__を介してキーをインポートすることができます:

const { SCHEMA_STORE_KEY } = window.wc.wcBlocksData;

⚠️ これらのアクションは、リゾルバによって内部的に使用されることがほとんどなので、直接使用する必要はほとんどないはずです。

receiveRoutes( routes, namespace)

提供されたリソースルートのリストでストアを更新するために使用されるアクションオブジェクトを返します。

Parameters

  • routes array: 指定された名前空間にアタッチされたルートの配列。例: [ '/wc/blocks/products', '/wc/blocks/products/attributes/(?P<id>[\d]+)' ]
  • namespace string: ルートが属する名前空間。例: /wc/blocks

Returns

  • object: 以下のキーを持つリソースルートのリストでストアを更新するために使用するアクションオブジェクト。
    • type string: アクションタイプ。
    • routes object: ルート名をキーとするルートオブジェクト。
    • namespace string: ルートが属する名前空間(例: /wc/blocks)。

セレクタ

getRoute( state, namespace, resourceName, ids = [] )

これは、指定された名前空間、リソース名、および (必要であれば) ID のルートを取得するために使用されます。

Parameters

  • state object: 元の状態。
  • namespace string: ルートの名前空間(例: /wc/blocks
  • resourceName string: リクエストされるリソース(例: products/attributes/terms
  • ids array: ルートにIDのプレースホルダーがある場合にのみ必要です。

Returns

  • string: 利用可能であればルート。

もし、wc/blocks名前空間上の単一製品のルートを探しているのであれば、[ 20 ]をidとして持つことになります:

// '/wc/blocks/products/20'
wp.data.select( SCHEMA_STORE_KEY ).getRoute( '/wc/blocks', 'products', [ 20 ] );

getRoutes( state, namespace )

これは指定された名前空間に登録されたすべてのルートをフラット配列として返します。

Parameters

  • state object: 現在の状態。
  • namespace string: ルートを返す名前空間。

Returns

  • array: 与えられた名前空間のすべてのルートの配列。

getRouteFromResourceEntries

これは、ルート状態の指定されたスライスからルートを返します。

Parameters

  • stateSlice object:与えられた名前空間とリソース名のルート状態のスライス。
  • ids array (default: []): ルートプレースホルダーで置き換える id 参照の配列。

Returns

  • string: 指定されたリソースエントリーのルート。ルートが見つからない場合は空文字列。

const store = select( SCHEMA_STORE_KEY );
const route = store.getRouteFromResourceEntries( stateSlice, ids );

プレースホルダを持つアセンブルルート

これはプレースホルダを含む組み立てられたルートを返します。

Parameters

  • route string: 組み立てるルート。
  • routePlaceholders array: ルートプレースホルダーの配列。
  • ids array: ルートプレースホルダー内で置換されるID参照の配列。

Returns

  • string: プレースホルダを実際の値に置き換えた、組み立てられたルート。

const store = select( SCHEMA_STORE_KEY );
const route = store.assembleRouteWithPlaceholders( route, routePlaceholders, ids );
Table of Contents