Skip to content
Docs
Obtención De Datos Condicional

Búsqueda Condicional

Condicional

Utilice null o pase una función como key para obtener datos de forma condicional. Si la función lanza o devuelve un falsy value, SWR no iniciará la petición.

// conditionally fetch
const { data } = useSWR(shouldFetch ? '/api/data' : null, fetcher)
 
// ...o devuelve un falsy value
const { data } = useSWR(() => shouldFetch ? '/api/data' : null, fetcher)
 
// ...o lanza un error cuando user.id no está definifo
const { data } = useSWR(() => '/api/data?uid=' + user.id, fetcher)

Dependiente

SWR también permite obtener datos que dependen de otros datos. Garantiza el máximo paralelismo posible (evitando las cascadas), así como la obtención en serie cuando se necesita un dato dinámico para que se produzca la siguiente obtención de datos.

function MyProjects () {
  const { data: user } = useSWR('/api/user')
  const { data: projects } = useSWR(() => '/api/projects?uid=' + user.id)
  // Al pasar una función, SWR utilizará el valor devuelto
  // como `key`. Si la función lanza o devuelve
  // falsy, SWR sabrá que algunas dependencias no estan
  // ready. En este caso `user.id` lanza cuando `user`
  // no este cargado.
 
  if (!projects) return 'loading...'
  return 'You have ' + projects.length + ' projects'
}