unstable_noStore

unstable_noStore kann verwendet werden, um deklarativ vom statischen Rendering (Static Rendering) abzuwählen und anzuzeigen, dass eine bestimmte Komponente nicht gecached werden soll.

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

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

Wissenswert:

  • unstable_noStore entspricht cache: 'no-store' bei einem fetch
  • unstable_noStore wird gegenüber export const dynamic = 'force-dynamic' bevorzugt, da es granularer ist und auf Komponentenebene verwendet werden kann
  • Die Verwendung von unstable_noStore innerhalb von unstable_cache führt nicht zum Abwählen des statischen Generierens. Stattdessen wird die Cache-Konfiguration verwendet, um zu bestimmen, ob das Ergebnis gecached werden soll oder nicht.

Verwendung

Wenn Sie keine zusätzlichen Optionen an fetch übergeben möchten, wie cache: 'no-store' oder next: { revalidate: 0 }, können Sie noStore() als Ersatz für all diese Anwendungsfälle verwenden.

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

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

| Version   | Änderungen                        |
| --------- | ------------------------------ |
| `v14.0.0` | `unstable_noStore` eingeführt. |

On this page