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()
に渡すことができるオプションのアップロード可能オブジェクト