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
:GraphQLTaggedNode
。graphql
テンプレートリテラルを使用して指定された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
。リソースを破棄します。
動作
- 命令型でサブスクリプションを確立します。
- サブスクリプションの使用方法の詳細については、GraphQLサブスクリプションガイドを参照してください。
このページは役に立ちましたか?
いくつかの簡単な質問に答えることで、 サイトの改善にご協力ください.