Ce face revalidatePath() - Invalidarea manuală a cache-ului pe o rută
Funcția revalidatePath este utilizată în Server Actions sau Route Handlers pentru a goli cache-ul unei pagini imediat după ce o modificare a avut loc (On-Demand Revalidation).
De exemplu, după ce un utilizator publică un articol nou sau își schimbă poza de profil, apelarea `revalidatePath(‘/blog’)` asigură că noul conținut va fi vizibil imediat fără a aștepta expirarea vreunui cronometru de cache.
Poate invalida o singură pagină specifică sau un întreg arbore de rute imbricate.
Exemple
Exemplul 1: Invalidarea cache-ului blogului după publicarea unui nou post
Asigură afișarea instantanee a noului articol pe prima pagină.
import { revalidatePath } from 'next/cache';
export async function publicaArticol(formData: FormData) {
'use server';
await insereazaArticol(formData);
// Invalidează prima pagină și lista de articole:
revalidatePath('/');
revalidatePath('/articole');
}
Ieșire în terminal
Cache-ul paginilor este purjat imediat.
Greșeli frecvente
- Apelarea revalidatePath într-o Client Component; funcția poate fi executată EXCLUSIV pe server (Server Action sau Route Handler).
Comenzi înrudite
revalidateTag() - Invalidarea țintită a cache-ului după etichete: Invalidează instant toate cererile de date marcate cu o anumită etichetă (tag), indiferent pe ce pagini din site sunt afișate.Directiva 'use server' - Definirea acțiunilor de server (Server Actions): Permite rularea funcțiilor asincrone direct pe server, apelabile transparent din formulare HTML sau din butoane client fără a scrie manual API Routes.Controlul cache-ului cu fetch() - force-cache și no-store: Extinde funcția standard nativă fetch() cu mecanisme puternice de stocare în cache la nivel de cerere HTTP.