如何解决运行突变后的refetchQueries
以前,我正在运行类似这样的突变:
int
每次我运行此突变时,export const useEditLocationName = () => {
const [editFavoriteLocationName] = useEditFavoriteLocationNameMutation({
refetchQueries: [{ query: GetMyFavouritePlacesDocument}],awaitRefetchQueries: true,onCompleted: () => {
Alert.alert('Name');
},onError: () => {
Alert.alert('Oops');
},});
const editLocationName = async (
favouritePlaceId: number,customisedName: string,) => {
editFavoriteLocationName({
variables: {
id: favouritePlaceId,label: customisedName
},});
return null;
};
return editLocationName;
};
(即useGetMyFavouritePlacesQuery
)的结果都会自动更新(无论在何处使用此查询)。这样就可以很好地工作,然后GetMyFavouritePlacesDocument
不需要任何参数。但是,既然api中有一些更改,我需要将useGetMyFavouritePlacesQuery
传递给查询,以便它返回结果。我该怎么办?
我不能将变量直接传递给id
,也不能在这里使用钩子。每次运行此突变后,还能如何有效地重新获取数据?
解决方法
如果您在突变响应中返回ID以及有关该数据的其他一些独特数据,则Apollo将自动更新缓存
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。