commitMutation
commitMutation
ミューテーションを命令的に実行します。
useMutation APIとデータ更新ガイドも参照してください。
import type {FeedbackLikeMutation} from 'FeedbackLikeMutation.graphql';
const React = require('React');
const {graphql, commitMutation} = require('react-relay');
function likeFeedback(environment: IEnvironment): Disposable {
return commitMutation<FeedbackLikeMutation>(environment, {
mutation: graphql`
mutation FeedbackLikeMutation($input: FeedbackLikeData!) {
feedback_like(data: $input) {
feedback {
id
viewer_does_like
like_count
}
}
}
`,
variables: {
input: {
id: '123',
},
},
});
}
引数
environment:IEnvironment。Relay環境。config:MutationConfig<TMutation>。
型 MutationConfig<TMutationConfig: MutationParameters>
- 以下のフィールドを持つオブジェクト
cacheConfig: * *[オプション]* *CacheConfigmutation:GraphQLTaggedNode。GraphQLリテラルを使用して指定されたミューテーションonError: * *[オプション]* *(Error) => void。ミューテーションがエラーになった場合に実行されるオプションのコールバック。onCompleted: * *[オプション]* *($ElementType<TMutationConfig, 'response'>) => void。ミューテーションが完了したときに実行されるオプションのコールバック。onCompletedに渡される値は、アップデータと宣言型ミューテーションディレクティブが適用された **後** にストアから読み取られたミューテーションフラグメントです。これは、マスクされていないフラグメント内のデータは読み取られず、削除されたレコード (例:@deleteRecordによる) も null になる可能性があることを意味します。
onUnsubscribe: * *[オプション]* *() => void。返されたDisposableが破棄されたときに発生する、ミューテーションの登録が解除されたときに実行されるオプションのコールバック。optimisticResponse: * *[オプション]* * ミューテーションの raw レスポンスタイプと一致する型のオブジェクト。このフィールドを使用している場合は、ミューテーションに@raw_response_typeを付けてください。optimisticUpdater: * *[オプション]* *SelectorStoreUpdater。optimisticResponseがストアに正規化された後、commitMutationが呼び出されたときに実行されるコールバック。updater: * *[オプション]* *SelectorStoreUpdater。ペイロードがストアに書き込まれた後、ペイロードが受信されたときに実行されるコールバック。uploadables: * *[オプション]* *UploadableMap。オプションのアップロード可能マップ。variables:$ElementType<TMutationConfig, 'variables'>。ミューテーションに渡す変数。
型 CacheConfig
- 以下のフィールドを持つオブジェクト
force: * *[オプション]* * 真偽値。true の場合、構成されているレスポンスキャッシュの状態に関係なく、クエリが無条件に発行されます。poll: * *[オプション]* * 数値。指定された間隔 (ミリ秒) でポーリングすることにより、クエリをライブ更新します。(この値はsetTimeoutに渡されます)。liveConfigId: * *[オプション]* * 文字列。GraphQLLiveQuery を呼び出すことによってクエリをライブ更新します。ライブクエリを実行する際のゲートウェイの構成を表します。metadata: * *[オプション]* * オブジェクト。ユーザーが提供するメタデータ。transactionId: * *[オプション]* * 文字列。操作を実行する特定のインスタンスの一意の ID として使用することを目的とした、ユーザーが提供する値。
型 `SelectorStoreUpdater`
- シグネチャ `(store: RecordSourceSelectorProxy, data) => void` を持つ関数
- このインターフェースを使用すると、Relay ストアに直接データを読み書きする*命令型*の操作が可能になります。つまり、サブスクリプションペイロードに応じてストアを更新する方法を完全に制御できます。*完全に新しいレコードを作成*したり、*既存のレコードを更新または削除*したりできます。Relay ストアへの読み書きのための完全な API はこちらにあります.
型 `UploadableMap`
型 MutationParameters
- 以下のフィールドを持つオブジェクト
response: オブジェクトvariables: オブジェクトrawResponse: オプションのオブジェクト
戻り値
Disposableで、- リクエストが完了する前に呼び出された場合、楽観的更新をキャンセルして元に戻し、
onCompleteおよびonErrorコールバックが実行されないようにします。必ずしもネットワークリクエストをキャンセルするとは限りません。onUnsubscribeコールバックが呼び出される原因となります。 - 最初のリクエストが完了した後に呼び出された場合、何も実行しません。
- リクエストが完了する前に呼び出された場合、楽観的更新をキャンセルして元に戻し、
インターフェース Disposable
- 次のキーを持つオブジェクト
dispose:() => void。リソースを破棄します。
このページは役に立ちましたか?
いくつかの簡単な質問に答えることで、 サイトの改善にご協力ください.