unstable_noStore

unstable_noStore puede utilizarse para excluir de forma declarativa el renderizado estático e indicar que un componente específico no debe almacenarse en caché.

import { unstable_noStore as noStore } from 'next/cache';

export default async function Component() {
  noStore();
  const result = await db.query(...);
  ...
}

Importante:

  • unstable_noStore es equivalente a cache: 'no-store' en un fetch
  • Se recomienda usar unstable_noStore en lugar de export const dynamic = 'force-dynamic' ya que es más granular y puede utilizarse por componente
  • El uso de unstable_noStore dentro de unstable_cache no excluirá la generación estática. En su lugar, se basará en la configuración de caché para determinar si almacenar el resultado o no.

Uso

Si prefieres no pasar opciones adicionales a fetch, como cache: 'no-store' o next: { revalidate: 0 }, puedes usar noStore() como reemplazo para todos estos casos de uso.

import { unstable_noStore as noStore } from 'next/cache';

export default async function Component() {
  noStore();
  const result = await db.query(...);
  ...
}

Historial de versiones

VersiónCambios
v14.0.0Se introdujo unstable_noStore.