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
: * *[オプション]* *CacheConfig
mutation
: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
。リソースを破棄します。
このページは役に立ちましたか?
いくつかの簡単な質問に答えることで、 サイトの改善にご協力ください.