Warum ist Window in NextJS nicht definiert?

Blog

Heute möchte ich über den häufigsten Fehler sprechen, auf den NextJS-Programmierer stoßen: |_+_| Wenn Sie einen Tag oder ein Jahr mit NextJS gearbeitet haben, ist dieser Fehler wahrscheinlich aufgetreten. Es mag albern erscheinen, aber ich habe erfahrene Programmierer gesehen, die von diesem Fehler verwirrt wurden.



Wenn Sie Code wie diesen in Ihrer NextJS-App schreiben, schlägt dies mit dem Fehler |_+_| fehl.

window is not defined.

Aber warum ist Fenster undefiniert?

NextJS ist ein Framework, mit dem Sie statische und serverseitig gerenderte Apps erstellen können. Es verwendet NodeJS zum Rendern Ihrer Anwendung und |_+_| ist in NodeJS nicht definiert. Das bedeutet, dass wir aufpassen müssen, dass unser Code, der auf die |_+_| . zugreift, Objekt wird in NodeJS nicht ausgeführt.



Zum Glück für uns gibt es drei einfache Lösungen für die Verwendung von |_+_| in unseren NextJS-Apps.

1. Verwenden Sie den useEffect-Hook

Bei diesem Ansatz greifen wir nur auf die |_+_| Objekt, wenn wir uns in einem |_+_| . befinden Haken. Dadurch wird sichergestellt, dass unser Code nur auf der Client-Seite ausgeführt wird. Das folgende Beispiel zeigt eine Bildkomponente, die dieselbe Breite wie das Ansichtsfenster hat. Dazu verwenden wir eine Kombination aus |_+_| und |_+_| um die |_+_| sicher zu erhalten und aufzubewahren.



window is not defined

#Frontend-Entwicklung #Programmierung #nextjs #reagieren #javascript

medium.com

Warum ist Window in NextJS nicht definiert?

So beheben Sie den häufigsten NextJS-Fehler. Heute möchte ich über den häufigsten Fehler sprechen, auf den NextJS-Programmierer stoßen: Fenster ist nicht definiert. Wenn Sie einen Tag oder ein Jahr mit NextJS gearbeitet haben, ist dieser Fehler wahrscheinlich aufgetreten. Es mag albern erscheinen, aber ich habe erfahrene Programmierer gesehen, die von diesem Fehler verwirrt wurden.