Graphql 突变查询:如何访问数据元素
Graphql mutation query : how to access the data elements
const MUTATION_QUERY = gql`
mutation MUTATION_QUERY(
$name: bigint!
) {
insert_name(
objects: {
name: $name
}
) {
returning {
id
name
}
}
}
`;
const [onClick, { error, data }] = useMutation<{}, {}>(MUTATION_QUERY, {
variables: {
name: 1234,
},
});
我的突变查询是在我的 table 中插入名称并自动生成 ID。在记录数据变量的控制台上,我可以查看数据对象中的字段 ID 和名称。但我无法单独访问它们。我怎么能console.log"id"。谢谢你。
console.log(数据)看起来像:{insert_name: {...}}
扩展为:
insert_name:
returning: Array(1)
0: {id: 1, name: 1234}
length: 1
_proto_: Array(0)
_typename: "insert_name_mutation_response
您可以使用 .
访问对象的字段
例如,如果您的对象看起来像这样 -
data = {
id: 1,
name: 'Jane',
}
您可以通过 data.id
获取 ID
无论您的对象可能有多深,这都有效,所以举这个例子 -
data = {
person: {
id: 1,
name: 'Jane',
}
}
你可以得到data.person.id
的人的id。
console.log(data.insert_name.returning[0].id)
会给你 ID returned。
为了让它在打字稿中工作,我们需要更改查询以添加 return 类型的数据
const [onClick, { error, data }] = useMutation<{ReturnInsertNameProps}, {}>(MUTATION_QUERY, {
variables: {
name: 1234,
},
});
interface ReturnInsertNameProps {
insert_name: ReturnQueryProps;
}
interface ReturnProps {
returning: MessageProps[];
}
interface NameProps {
id: number;
name: number;
}
如果我们想处理查询的结果,我们也可以使用useMutation中提供的onCompleted方法。
const MUTATION_QUERY = gql`
mutation MUTATION_QUERY(
$name: bigint!
) {
insert_name(
objects: {
name: $name
}
) {
returning {
id
name
}
}
}
`;
const [onClick, { error, data }] = useMutation<{}, {}>(MUTATION_QUERY, {
variables: {
name: 1234,
},
});
我的突变查询是在我的 table 中插入名称并自动生成 ID。在记录数据变量的控制台上,我可以查看数据对象中的字段 ID 和名称。但我无法单独访问它们。我怎么能console.log"id"。谢谢你。
console.log(数据)看起来像:{insert_name: {...}}
扩展为:
insert_name:
returning: Array(1)
0: {id: 1, name: 1234}
length: 1
_proto_: Array(0)
_typename: "insert_name_mutation_response
您可以使用 .
例如,如果您的对象看起来像这样 -
data = {
id: 1,
name: 'Jane',
}
您可以通过 data.id
无论您的对象可能有多深,这都有效,所以举这个例子 -
data = {
person: {
id: 1,
name: 'Jane',
}
}
你可以得到data.person.id
的人的id。
console.log(data.insert_name.returning[0].id)
会给你 ID returned。
为了让它在打字稿中工作,我们需要更改查询以添加 return 类型的数据
const [onClick, { error, data }] = useMutation<{ReturnInsertNameProps}, {}>(MUTATION_QUERY, {
variables: {
name: 1234,
},
});
interface ReturnInsertNameProps {
insert_name: ReturnQueryProps;
}
interface ReturnProps {
returning: MessageProps[];
}
interface NameProps {
id: number;
name: number;
}
如果我们想处理查询的结果,我们也可以使用useMutation中提供的onCompleted方法。