実装のためのReactリソース
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
React用のJS SDK
Sitecore Search ReactおよびSearch UIコンポーネント向けJS SDKパッケージパッケージには、さまざまなコンポーネント、関数、クエリフック、オブジェクトが含まれており、Search体験を迅速にReactアプリケーションに統合できます。以下のセクションでは、それらと実装における役割について説明します。
Component
SDKでは、ウィジェットコンポーネントとSearch間のすべての通信を開始し調整するReactコンポーネントをコンポーネントと呼びます。 WidgetsProviderはそのようなコンポーネントであり、ウィジェットコンポーネントをラップします。実行時にはReactQueryシングルトンクライアントを作成します。ウィジェットコンポーネントは、ウィジェットコンポーネントに関連付けられたコンテンツやデータのためにこのシングルトンにフックrfk_idします。
高次の関数
開発者が統合しやすくなるため、Sitecore SearchはSDKにすぐに使える高次関数を含んでいます。
- widget - UIコンポーネントをウィジェットコンポーネントに設定すること。
- setWidget - Sitecore Searchインターフェース構成に合わせたウィジェットコンポーネントを作成すること。
- setWidgetType - 特定のタイプの汎用ウィジェットコンポーネントを作成すること。
ウィジェットコンポーネント
このSDKは、setWidgetとwidgetの2つの関数を提供し、UIコンポーネントをウィジェットコンポーネントに変換し、rfkIdとwidget typeを付けています。ウィジェットコンポーネントはクエリフックを使ってデータの要求と受信を行います。
上記の関数を使って、UI ComponentsパッケージからヘッドレスUIコンポーネントを組み、カスタムUIコンポーネントで構築したウィジェットコンポーネントを作成する必要があります。SDKは各ウィジェットタイプごとにクエリフックを提供します。
クエリフック
WidgetProviderの で の の で の の で 、ウィジェットコンポーネントはSDKのReactフックのいずれかを使用します。ウィジェットコンポーネントもフックを通じて入力されます。
以下の表はSDKにおける典型的なクエリフックを示しています。
キー
種類
概要
actions
Object
ウィジェットがリクエストを入力するために使うアクションやコールバック。各ウィジェットタイプには独自のリストがあります。
state
Object
ウィジェットによって入力されるRequestパラメータ。各ウィジェットタイプには独自のリストがあります。
queryResult
Object
応答オブジェクトを含みます。ウィジェットはその値しか読み取れません。
SDKはまた、ウィジェットをサポートするコンポーネントのデータを取得するための 補完的なクエリフック も提供しています。例えば、ウィジェットのリストやパンくずなどです。
UIコンポーネントCLI
エラーを減らし、IDE内でのみ作業できるようにするには、Search UIコンポーネントCLIを利用できます。CLIを使えば、UIコンポーネントパッケージからウィジェットテンプレートをIDEターミナルを通じて直接アプリケーション内で再現できます。
UI Components参照はエンティティタイプごとにコンポーネントを一覧化しています。すべてのウィジェットテンプレートは、TypescriptおよびJavaScript Reactアプリケーションの両方でCLIを使って利用可能です。
UIコンポーネントを使ったRapid Development Walkthroughシリーズでは、CLIのインストールと使用について説明します。
Starter kit
スターターキットのウェブサイトは、SDKとUI Componentsパッケージを使って構築された機能するミニサイトです。このサイトでは、さまざまな検索体験を構築できます。GitHubリポジトリからウェブサイトをダウンロードしてスタータープロジェクトとして使うこともできますし、リポジトリをフォークして検索体験の背後にあるコードを読むこともできます。
Sitecore開発者ポータル
私たちは、ツールや情報に直接アクセスできる開発者体験を向上させるために、Sitecore開発者ポータル を作成しました。ポータルにはさまざまな動画が掲載されています。