reactCompiler
Next.js bietet Unterstützung für den React Compiler, ein Tool zur Leistungsverbesserung durch automatische Optimierung des Komponenten-Renderings. Dadurch wird der manuelle Einsatz von useMemo
und useCallback
reduziert.
Next.js enthält eine spezielle Leistungsoptimierung, die in SWC implementiert ist und den React Compiler effizienter macht. Anstatt den Compiler auf jede Datei anzuwenden, analysiert Next.js Ihr Projekt und wendet den React Compiler nur auf relevante Dateien an. Dies vermeidet unnötige Arbeit und führt zu schnelleren Builds im Vergleich zur alleinigen Verwendung des Babel-Plugins.
Funktionsweise
Der React Compiler läuft über ein Babel-Plugin. Um Builds schnell zu halten, verwendet Next.js eine spezielle SWC-Optimierung, die den React Compiler nur auf relevante Dateien anwendet – wie solche mit JSX oder React Hooks.
Dadurch wird vermieden, alles zu kompilieren, und die Leistungseinbußen bleiben minimal. Im Vergleich zum standardmäßigen Rust-basierten Compiler können Builds etwas langsamer sein, aber die Auswirkungen sind gering und lokal begrenzt.
Zur Verwendung installieren Sie das babel-plugin-react-compiler
:
Fügen Sie dann die Option experimental.reactCompiler
in next.config.js
hinzu:
Annotationen
Sie können den Compiler im "Opt-in"-Modus wie folgt konfigurieren:
Anschließend können Sie spezifische Komponenten oder Hooks mit der "use memo"
-Direktive von React annotieren, um sie einzubeziehen:
Hinweis: Sie können auch die
"use no memo"
-Direktive von React für den gegenteiligen Effekt verwenden, um eine Komponente oder einen Hook auszuschließen.