Um auf Next.js Version 15 zu aktualisieren, können Sie den upgrade Codemod verwenden:
Wenn Sie es manuell durchführen möchten, stellen Sie sicher, dass Sie die neuesten Next & React RC installieren, z.B.:
Hinweis:
Wenn Sie eine Peer-Dependencies-Warnung sehen, müssen Sie möglicherweise react und react-dom auf die empfohlenen Versionen aktualisieren oder die Flags --force oder --legacy-peer-deps verwenden, um die Warnung zu ignorieren. Dies wird nicht notwendig sein, sobald Next.js 15 und React 19 stabil sind.
Wenn Sie TypeScript verwenden, müssen Sie die React-Typen vorübergehend überschreiben. Weitere Informationen finden Sie im React 19 RC Upgrade-Leitfaden.
Die Mindestversionen von react und react-dom ist jetzt 19.
useFormState wurde durch useActionState ersetzt. Der useFormState Hook ist in React 19 noch verfügbar, aber veraltet und wird in einer zukünftigen Version entfernt. useActionState wird empfohlen und enthält zusätzliche Eigenschaften wie das direkte Lesen des pending Zustands. Mehr erfahren.
useFormStatus enthält jetzt zusätzliche Schlüssel wie data, method und action. Wenn Sie React 19 nicht verwenden, ist nur der pending Schlüssel verfügbar. Mehr erfahren.
Um die Migrationslast zu erleichtern, ist ein Codemod verfügbar, um den Prozess zu automatisieren, und die APIs können vorübergehend synchron aufgerufen werden.
Die runtimeSegment-Konfiguration unterstützte zuvor zusätzlich zu edge den Wert experimental-edge. Beide Konfigurationen beziehen sich auf dasselbe, und um die Optionen zu vereinfachen, wird jetzt ein Fehler ausgegeben, wenn experimental-edge verwendet wird. Um dies zu beheben, aktualisieren Sie Ihre runtime-Konfiguration auf edge. Ein Codemod ist verfügbar, um dies automatisch durchzuführen.
fetch-Anfragen werden standardmäßig nicht mehr zwischengespeichert.
Um bestimmte fetch-Anfragen für das Zwischenspeichern zu aktivieren, können Sie die Option cache: 'force-cache' übergeben.
Um alle fetch-Anfragen in einem Layout oder einer Seite für das Zwischenspeichern zu aktivieren, können Sie die Segment-Konfigurationsoption export const fetchCache = 'default-cache' verwenden. Wenn einzelne fetch-Anfragen eine cache-Option angeben, wird diese stattdessen verwendet.
GET-Funktionen in Route-Handlern werden standardmäßig nicht mehr zwischengespeichert. Um GET-Methoden für das Zwischenspeichern zu aktivieren, können Sie eine Route-Konfigurationsoption wie export const dynamic = 'force-static' in Ihrer Route-Handler-Datei verwenden.
Bei der Navigation zwischen Seiten über <Link> oder useRouter werden Seiten nicht mehr aus dem Client-seitigen Router-Cache wiederverwendet. Sie werden jedoch weiterhin während der Browser-Rückwärts- und Vorwärtsnavigation und für gemeinsame Layouts wiederverwendet.
Um Seitensegmente für das Zwischenspeichern zu aktivieren, können Sie die Konfigurationsoption staleTimes verwenden:
Layouts und Ladeanimationen werden weiterhin bei der Navigation zwischengespeichert und wiederverwendet.
Das @next/font-Paket wurde zugunsten des integrierten next/font entfernt. Ein Codemod ist verfügbar, um Ihre Importe sicher und automatisch umzubenennen.
Die Eigenschaften geo und ip bei NextRequest wurden entfernt, da diese Werte von Ihrem Hosting-Anbieter bereitgestellt werden. Ein Codemod ist verfügbar, um diese Migration zu automatisieren.
Wenn Sie Vercel verwenden, können Sie alternativ die Funktionen geolocation und ipAddress aus @vercel/functions verwenden: