SuperAPI AI 工具集

tanstack-query-intent-core-implement-optimistic-updates-20e8c58a

数据与分析

查看项目

更新于 10-16 00:02

技能介绍

用途:在 TanStack Query(React)中实现乐观更新与 mutation 缓存写入。主要能力:通过 useMutation 的 onMutate 保存回滚上下文,onError 用 context.previous 恢复,onSettled 调用 invalidateQueries 同步;onSuccess 用 setQueryData 将 mutation 响应写入详情缓存;用 setQueriesData/setQueryData 的函数式更新实现列表的不可变更新。必要用法:乐观写入前先 await queryClient.cancelQueries({ queryKey: ['todos'] }),避免进行中的 refetch 覆盖乐观数据;缓存更新必须不可变(用 map、展开复制),不要原地修改数组或对象元素。持久化场景限制:paused 的 persisted mutation 因函数不可序列化,hydrate 后需通过 setMutationDefaults 提供默认 mutationFn,否则乐观 mutation 会丢失。相关前置参考:cancel-queries-and-consume-abort-signals。以上为资料明确提供的内容,其余细节暂未提供。