Perché la finestra non è definita in NextJS?

Blog

Oggi vorrei parlare dell'errore più comune che incontrano i programmatori NextJS: |_+_| Se hai lavorato con NextJS per un giorno o per un anno, è probabile che tu abbia visto questo errore. Potrebbe sembrare sciocco, ma ho visto programmatori esperti confusi da questo errore.



Se scrivi codice come questo nella tua app NextJS, fallirà con l'errore |_+_|.






window is not defined.

Ma perché la finestra non è definita?

NextJS è un framework che consente di creare app renderizzate statiche e lato server. Usa NodeJS per eseguire il rendering della tua applicazione e |_+_| non è definito in NodeJS. Ciò significa che dobbiamo stare attenti che il nostro codice che accede a |_+_| oggetto non viene eseguito in NodeJS.



Fortunatamente per noi, ci sono tre semplici soluzioni per usare |_+_| nelle nostre app NextJS.



1. Usa il gancio useEffect

Con questo approccio, accediamo solo a |_+_| oggetto quando siamo all'interno di un |_+_| gancio. Ciò garantisce che il nostro codice venga eseguito solo sul lato client. L'esempio seguente mostra un componente dell'immagine della stessa larghezza della finestra. Per fare ciò, usiamo una combinazione di |_+_| e |_+_| per ottenere e archiviare in modo sicuro |_+_|.






window is not defined

#sviluppo front-end #programmazione #nextjs #react #javascript

medium.com

Perché la finestra non è definita in NextJS?

Come risolvere l'errore NextJS più comune. Oggi vorrei parlare dell'errore più comune che i programmatori NextJS incontrano: la finestra non è definita. Se hai lavorato con NextJS per un giorno o per un anno, è probabile che tu abbia visto questo errore. Potrebbe sembrare sciocco, ma ho visto programmatori esperti confusi da questo errore.