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])
Другие вопросы по тегам