1

我试图在网上到处寻找,但我似乎找不到任何关于此的文档,这很奇怪,因为我认为这将是一种流行的需求。

例如,如果我们尝试获取具有特定 ID 的帖子:

const { data } = useSWR(`/api/post/${id}`, fetcher)

然后也许我们有一个编辑帖子的表单,当我们进行变异时:

mutate(`/api/post/${id}`)

要强制对特定 id 进行重新验证,什么都不会发生。在这种情况下,正确的方法是什么?

顺便提一下,在没有 id 的情况下进行 SWR 获取和 /api/comments 之类的东西,其中所有评论都被获取,然后 mutate 在执行时重新验证没有问题mutate('/api/comments')

希望这是有道理的。我基本上想要实现的是,在使用一些 id 更新帖子后做一个 POST 请求,然后我想用更新的数据重新渲染页面。

当 id 值是动态的时,我得到的印象是 mutate 无法识别密钥

4

1 回答 1

2

只需从钩子中导入mutate函数,它与该键绑定。

const { data, mutate } = useSWR(`/api/post/${id}`, fetcher)

然后只需调用mutate()

于 2021-09-05T09:18:20.703 回答