我从缓存访问数据时遇到问题。我有我的dahboard组件。可以在这里提取数据,我可以访问它。
const Dashboard = ({ code }) => {
const {
data,
error,
mutate
} = useSWR(['/api/user', code], (url, code) => api.auth.getAuthData({ code }))
return (
<MainLayout>
<div>
dasdasdasasd
</div>
</MainLayout>
)
}
当我尝试访问其他组件中的数据时,问题开始了。
const Navbar = () => {
const {
data,
error,
mutate
} = useSWR(['/api/user'])
console.log(data)
return (
<Styled.Navbar>
dasdasdas
</Styled.Navbar>
)
}
导航栏组件中的数据未定义。有什么原因不起作用?整个应用都包装在SWR提供程序中。
答案 0 :(得分:0)
在获取数据时,您将“代码”值用作键的一部分。要获取缓存的结果,您需要传递相同的键 ['/ api / user',代码]
const {
data,
error,
mutate
} = useSWR(['/api/user', code])