gpt4 book ai didi

javascript - useMutation 总是返回未定义的数据

转载 作者:行者123 更新时间:2023-11-28 16:56:48 26 4
gpt4 key购买 nike

这是我的代码

react

const EXCHANGE_RATES = gql`
mutation {
signUp(lastName: "Amasia")
}
`;
const HandlerRequest = () => {
const [loading, { data }] = useMutation(EXCHANGE_RATES);

console.log('apollo', data);

return <p>apollo</p>;
};

架构

  gql`
extend type Mutation {
signUp(
lastName: String!
): String!
}
`;

解析器

Mutation: {
signUp: async (
_,
{ lastName}
) => {
try {
console.log(lastName)
return lastName;
} catch (error) {
return 'error';
}
},
},

useMutation 总是返回未定义的数据,但在 graphql Playground 正在工作。我在做什么 netak ?

最佳答案

useMutation 应该返回一个函数来调用以执行突变。通常,您会将其连接到按钮或其他东西。使用组件加载时自动执行的突变似乎有点奇怪。

const HandlerRequest = () => {
const [getExchangeRates, { data }] = useMutation(EXCHANGE_RATES);
// Load data if not already loaded.
if (!data) { getExchangeRates(); }
console.log('apollo', data);

return <p>apollo</p>;
};

使用上面的内容,您可能会看到两个 console.log。

  1. 初始组件渲染,应该是未定义的
  2. 当 getExchangeRates 返回并且数据更新时,组件将被重新渲染并再次调用日志。

关于javascript - useMutation 总是返回未定义的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58927391/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com