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,
error,
mutate
} = useSWR(['/api/user'])
console.log(data)
return (
<Styled.Navbar>
dasdasdas
</Styled.Navbar>
)
}
Данные в компоненте навигационной панели не определены. По какой-либо причине, почему это не работает? Все приложение завернуто в SWR-провайдер.
1 ответ
Вы используете значение "кода" как часть ключа при извлечении данных. Чтобы получить кешированные результаты, вам необходимо передать тот же ключ ['/api/user', code]
const {
data,
error,
mutate
} = useSWR(['/api/user', code])