【发布时间】:2021-10-27 20:53:37
【问题描述】:
我有这样的代码
const [inputComment, setInputComment] = useState('');
const [
commentPost,
{ data: data4, loading: loading4, errorCreate4 },
] = useMutation(COMMENT_POST);
const { error: error2, loading: loading2, data: data2 } = useQuery(
GET_POST_BY_ID,
{
variables: {
postid: item.id,
},
},
);
const doComment = () => {
commentPost({
variables: {
postId: item.id,
userEmail: email,
comment: inputComment,
},
})
.then(({ data }) => {
setInputComment('');
console.log('success');
})
.catch((e) => {
console.log('not success');
});
};
这应该获取数据,当我发表评论时,它会运行突变并重新渲染所有内容。
我的问题是,它重新渲染好了,但是 useQuery 获取的数据不是最新数据,也就是我添加新评论之前的数据。
有人知道如何解决这个问题吗??
请帮忙:(
【问题讨论】:
-
这个useQuery它来自哪个库?阿波罗还是反应查询?
-
能否也包括您的 COMMENT_POST 和 GET_POST_BY_ID
标签: reactjs apollo react-apollo