大家是怎么处理这个案子的:
它可能在某种程度上与标准化有关,但我认为我们可以有一些最佳实践来处理这个问题。
也许我们可以有一把钥匙
['post']['post', {id: number}]然后,当我们获取列表时,我们实际上为帖子项目设置了数据,并且只['list']保存了 id。
那有意义吗?或者任何人对此有更好的解决方案
小智 5
您可以使用预取您的帖子QueryClient.prefetchQuery,然后通过按 id 从缓存中检索单个帖子来显示它们,也可以使用单个查询键执行乐观更新,如下所示:
const queryClient = useQueryClient();
const { mutate } = useMutation(someUpdateFn, {
onMutate: async (post) => {
await queryClient.cancelQueries(["posts"]);
queryClient.setQueryData(["posts"], (posts) => {
const previousPosts = posts.filter(({ id }) => post.id !== id);
return [...previousPosts, post];
});
},
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1679 次 |
| 最近记录: |