如何解决Next.js SWR从缓存访问数据
我从缓存访问数据时遇到问题。我有我的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,mutate
} = useSWR(['/api/user'])
console.log(data)
return (
<Styled.Navbar>
dasdasdas
</Styled.Navbar>
)
}
导航栏组件中的数据未定义。有什么原因不起作用?整个应用都包装在SWR提供程序中。
解决方法
在获取数据时,您将“代码”值用作键的一部分。要获取缓存的结果,您需要传递相同的键 ['/ api / user',代码]
const {
data,error,mutate
} = useSWR(['/api/user',code])
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。