メインコンテンツへスキップ

graphQLMutationEffect()

Atom Effectを使って、Atomのローカル更新をトリガーにして GraphQLMutationをサーバーに送信します。

Atomが値を更新するAtom Effectが複数ある場合、他のEffectがgraphQLMutationEffect()を使ってサーバーミューテーションが送信されてしまう可能性があります。そのため、graphQLQueryEffect()と組み合わせる場合には注意が必要です。そのような使い方をしたい場合は、graphQLSelector()を使う方が簡単でしょう。


function graphQLMutationEffect<
TVariables: Variables,
T,
TResponse: $ReadOnly<{[string]: mixed}> = {},
TRawResponse = void,
>({
environment: IEnvironment | EnvironmentKey,
mutation: Mutation<TVariables, TResponse, TRawResponse>,
variables: T => TVariables | null,

updater_UNSTABLE?: SelectorStoreUpdater<TResponse>,
optimisticUpdater_UNSTABLE?: SelectorStoreUpdater<TResponse>,
optimisticResponse_UNSTABLE?: T => TResponse,
uploadables_UNSTABLE?: UploadableMap,
}): AtomEffect<T>
  • environment: Relay Environment、または EnvironmentKeyを使用して、<RecoilRelayEnvironemnt>で提供されるEnvironmentと一致します。
  • mutation: GraphQL Mutation
  • 変数: GraphQL 変異体に入力された変数オブジェクトを返す新しいアトムの値を提供するコールバック。返される値が null の場合変異はスキップされます。

オプション

  • updater_UNSTABLE: commitMutation() に渡すことができるオプションの updater() 関数
  • optimisticUpdater_UNSTABLE: commitMutation() に渡すことができるオプションの optimisticUpdater() 関数
  • optimisticResponse_UNSTABLE: commitMutation() に渡すことができるオプションの楽観的応答
  • uploadables_UNSTABLE: commitMutation() に渡すことができるオプションのアップロード可能オブジェクト