使用特定于经过身份验证的用户的数据的 useSWR

问题描述

我想使用 SWR 为登录用户获取数据,但我不确定如何以正确的方式执行此操作。

例如假设我想从登录特定用户的 api 路径 api/get/cards获取数据。我可以使用 api/get/cards 为他们键入 SWR 但我假设缓存不会知道数据仅针对当前用户?然后缓存将只为最后一个用户提供数据来使用它,而不一定是当前正在调用它的用户?这样做的最佳方法是什么?

解决方法

您可以将一个数组作为 key 参数传递给 useSWR,以实现此精确场景。

const { data } = useSWR(['/api/get/cards',userId],(url,userId) => { /* Fetching logic */ })

请求的键现在将是两个值的组合,并且会在 userId 更改时重新验证。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...