跳至主要内容
版本:v18.0.0

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',
},
},
});
}

参数

类型 MutationConfig<TMutationConfig: MutationParameters>

  • 包含以下字段的对象
    • cacheConfig: [可选] CacheConfig
    • mutation: GraphQLTaggedNode。使用 GraphQL 字面量指定的突变
    • onError: [可选] (Error) => void。如果突变导致错误,则执行可选的回调函数。
    • onCompleted: [可选] ($ElementType<TMutationConfig, 'response'>) => void。突变完成后执行的可选回调函数。
      • 传递给 onCompleted 的值是突变片段,从存储中读取,应用更新器和声明式突变指令之后。这意味着将不会读取未屏蔽片段中的数据,并且已删除的记录(例如,由 @deleteRecord 删除的记录)也可能为 null。
    • onUnsubscribe: [可选] () => void。在突变取消订阅时执行的可选回调函数,这种情况发生在返回的 Disposable 被处置时。
    • optimisticResponse: [可选] 与突变的原始响应类型匹配的对象。如果您使用此字段,请确保用 @raw_response_type 装饰您的突变。
    • optimisticUpdater: [可选] SelectorStoreUpdater。在调用 commitMutation 时执行的回调函数,在将 optimisticResponse 规范化为存储之后。
    • 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,它
    • 如果在请求完成之前调用,将取消还原任何乐观的更新并阻止 onCompleteonError 回调函数执行。它不一定取消任何网络请求。将导致调用 onUnsubscribe 回调函数。
    • 如果在初始请求完成之后调用,将不执行任何操作。

接口 Disposable

  • 包含以下键的对象
    • dispose: () => void。处置资源。

此页面是否有用?

通过以下方式帮助我们改进网站 回答一些快速问题.