En server-komponent eller Route Handler använde request-specifik data, vilket förhindrar statisk generering.
Förklaring
Next.js försöker bygga sidor statiskt när det är möjligt. Om en sida läser headers(), cookies(), searchParams, eller annan request-specifik data kan den inte förbyggas och måste genereras dynamiskt vid varje förfrågan.
Felet visas vanligtvis vid next build när Next.js försöker statiskt generera en sida men stöter på dynamisk data. Meddelandet berättar vilken funktion som orsakade det.
Det är inte alltid ett problem: dynamisk rendering är rätt val för sidor som verkligen beror på request-specifik data. Felet uppstår bara om Next.js förväntade sig statisk rendering, till exempel om dynamic = 'error' är satt.
Vanliga orsaker
Anrop till headers(), cookies(), connection(), eller läsning av searchParams i en route som försöker vara statisk. En sida med dynamic = 'error' använder dynamiska funktioner.
Lösning
Antingen acceptera dynamisk rendering genom att sätta dynamic explicit, eller undvika de dynamiska anropen:
// Acceptera dynamisk rendering
export const dynamic = 'force-dynamic';
// Eller läs searchParams via props i stället för headers()
export default function Page({ searchParams }) {
const query = searchParams.q;
}För statisk rendering med dynamiska URL-parametrar, se generateStaticParams.