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_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
,它- 如果在请求完成之前调用,将取消还原任何乐观的更新并阻止
onComplete
和onError
回调函数执行。它不一定取消任何网络请求。将导致调用onUnsubscribe
回调函数。 - 如果在初始请求完成之后调用,将不执行任何操作。
- 如果在请求完成之前调用,将取消还原任何乐观的更新并阻止
接口 Disposable
- 包含以下键的对象
dispose
:() => void
。处置资源。
此页面是否有用?
通过以下方式帮助我们改进网站 回答一些快速问题.