首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用React Query (TRPC)进行乐观更新

使用React Query (TRPC)进行乐观更新
EN

Stack Overflow用户
提问于 2022-12-03 23:45:41
回答 1查看 23关注 0票数 0

我不知道如何使用trpc进行乐观的更新?这是“内置”还是必须使用的useQuery钩子?

到目前为止,我正在尝试这样做,但它不起作用:

代码语言:javascript
复制
 const queryClient = useQueryClient();

    const updateWord = trpc.word.update.useMutation({
        onMutate: async newTodo => {
            // Cancel any outgoing refetches (so they don't overwrite our optimistic update)
            await queryClient.cancelQueries({ queryKey: ['text', 'getOne'] })

            // Snapshot the previous value
            const previousText = queryClient.getQueryData(['text', 'getOne'])

            // Optimistically update to the new value
            queryClient.setQueryData(['text', 'getOne'], old => old ? {...old, { title: "Hello" }} : undefined)

            // Return a context object with the snapshotted value
            return { previousText }
        },
//...

这看上去应该有意义吗?它正在更新值,但不是乐观的。

EN

回答 1

Stack Overflow用户

发布于 2022-12-04 17:12:22

trpc v10通过自己的useContext钩子提供了来自queryClient的大多数函数的类型安全变体:

代码语言:javascript
复制
const utils = trpc.useContext()

那么,你应该能够做到:

代码语言:javascript
复制
utils.text.getOne.cancel()
utils.text.getOne.getData()
utils.text.getOne.setData()

请参阅:https://trpc.io/docs/useContext

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74671735

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档