Рубрики
Без рубрики

Как условно загружать данные с помощью SWR

При использовании SWR у вас может возникнуть такая проблема: вы хотите выполнить запрос, только если у вас есть какие-то данные. Например, в одном из моих случаев мне нужно было выяснить, вошел ли пользователь в систему, прежде чем отправлять запрос в конечную точку /api/пользователя, чтобы получить данные пользователя. В частности, у меня был объект сеанса, а внутри него – объект пользователя. И то, и другое нуждалось в определении. Итак, вот что я сделал:

При использовании SWR у вас может возникнуть такая проблема: вы хотите выполнить запрос, только если у вас есть какие-то данные.

Например, в одном из моих случаев мне нужно было выяснить, вошел ли пользователь в систему, прежде чем отправлять запрос в конечную точку /api/user , чтобы получить данные пользователя.

В частности, у меня был объект сеанс , а внутри него объект пользователь . И то, и другое нуждалось в определении.

Итак, вот что я сделал:

import fetcher from 'lib/fetcher'

...

const { data: userData } = useSWR(session && session.user ? `/api/user` : null, fetcher)

Первый параметр – это URL-адрес. Если это нуль ,

Оригинал: “https://flaviocopes.com/swr-conditionally-load-data/”