我不知道如何在删除行后更新表。后台使用Apollo-server,客户端使用relay。我正在尝试使用NODE_DELETE,但我不知道我做错了什么
这是删除突变
const mutation = graphql`
mutation DeleteAdMutation(
$id: ID!
) {
deleteEvent(
id: $id
)
{
deletedId
}
}`;
export const DeleteEvent = (input) => {
return new Promise((resolve, reject) => {
commitMutation(
environment,
{
type: 'NODE_DELETE',
deletedIDFieldName: 'deletedId',
mutation,
variables: input,
}
)
});};deletedId已成功返回,但表中没有任何更改
表查询:
const GetADayTours = graphql`
query GetADayToursQuery(
$type: String!,
$page: Int!,
$row: Int!,
) {
getADayTours(
type: $type,
page: $page,
row: $row,
) {
page
row
total
data{
...on aDayTour{
...Row_row
}
}
}
}`;
export default GetADayTours;下面是行片段:
createFragmentContainer(RowComponent
, {
row: graphql`
fragment Row_row on aDayTour {
_id
id
title
}
`,
});发布于 2020-08-11 17:06:16
查询数据时,必须为分页记录添加ConnectionKey
请参考以下内容
https://relay.dev/docs/en/pagination-container.html#connection,关于如何在查询时添加连接。
在那之后,当你想要使用nodeId删除时,你必须使用‘connectionHandler -runtime’中的中继:
https://stackoverflow.com/questions/62508371
复制相似问题