メインコンテンツへスキップ
バージョン: v18.0.0

requestSubscription

requestSubscription

GraphQLサブスクリプションを確立するための命令型APIです。 useSubscription APIとデータ更新ガイドも参照してください。

import {graphql, requestSubscription} from 'react-relay';

const subscription = graphql`
subscription UserDataSubscription($input: InputData!) {
# ...
}
`;

function createSubscription(environment: IEnvironment): Disposable {
return requestSubscription(environment, {
subscription,
variables: {input: {userId: '4'}},
});
}

引数

  • environment: Relay環境
  • config: GraphQLSubscriptionConfig

GraphQLSubscriptionConfig<TSubscriptionPayload>

  • 以下のフィールドを持つオブジェクト
    • cacheConfig: [オプション] CacheConfig
    • subscription: GraphQLTaggedNodegraphqlテンプレートリテラルを使用して指定されたGraphQLサブスクリプション
    • variables: サブスクリプションに渡す変数
    • onCompleted: [オプション] () => void。サブスクリプションが確立されたときに実行されるオプションのコールバック
    • onError: [オプション] (Error) => {}。エラーが発生したときに実行されるオプションのコールバック
    • onNext: [オプション] (TSubscriptionPayload) => {}。新しいデータを受信したときに実行されるオプションのコールバック
    • updater: [オプション] SelectorStoreUpdater

CacheConfig

  • 以下のフィールドを持つオブジェクト
    • force: [オプション] 真偽値。 trueの場合、設定されているレスポンスキャッシュの状態に関係なく、無条件にクエリが発行されます。
    • poll: [オプション] 数値。 指定された間隔(ミリ秒)でポーリングすることにより、クエリをライブ更新します。 (この値はsetTimeoutに渡されます)。
    • `liveConfigId`: * *[オプション]* * 文字列。 GraphQLLiveQueryを呼び出すことによって、クエリをライブ更新します。 ライブクエリを実行する際のゲートウェイの構成を表します。
    • metadata: [オプション] オブジェクト。 ユーザーが提供するメタデータ。
    • transactionId: [オプション] 文字列。 操作を実行する特定のインスタンスの一意のIDとして使用することを目的とした、ユーザー提供の値。

SelectorStoreUpdater

  • シグネチャ(store: RecordSourceSelectorProxy, data) => voidを持つ関数
  • このインターフェースを使用すると、Relayストアに直接データを読み書きする命令型の記述ができます。 つまり、サブスクリプションペイロードに応じてストアを更新する方法を完全に制御できます。 *完全に新しいレコードを作成*したり、*既存のレコードを更新または削除*したりできます。 Relayストアの読み取りと書き込みのための完全なAPIはこちらにあります。

戻り値の型

  • サブスクリプションをクリアするDisposable

インターフェース Disposable

  • 以下のキーを持つオブジェクト
    • dispose: () => void。リソースを破棄します。

動作


このページは役に立ちましたか?

いくつかの簡単な質問に答えることで、 サイトの改善にご協力ください.