Maison >interface Web >js tutoriel >Comment corriger l'erreur « la fenêtre n'est pas définie » dans Next.js ?

Comment corriger l'erreur « la fenêtre n'est pas définie » dans Next.js ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-08 06:07:16958parcourir

How to Fix the

La fenêtre n'est pas définie dans l'application Next.js React : une résolution complète

Dans les applications Next.js, vous pouvez rencontrer l'erreur " "la fenêtre n'est pas définie" lors de la tentative d'accès à l'objet global "fenêtre". Cela peut se produire car l'objet window n'est disponible que lors du rendu côté client. Voici comment résoudre ce problème :

Pour utiliser l'objet 'window', vous pouvez entourer votre code d'une instruction 'if' qui vérifie si 'window' est défini :

if (typeof window !== "undefined") {
  // Client-side-only code
  console.log('window.innerHeight', window.innerHeight);
}

Cette approche garantit que le code dans le bloc « if » est exécuté uniquement côté client, où l'objet « window » est accessible.

L'utilisation de la suggestion d'accéder à « window » via « process.browser » n'est plus recommandée car elle est obsolète dans Webpack5 et Next.js. L'objet 'processus' est principalement utilisé pour le rendu côté serveur, et son utilisation pour les opérations côté client n'est pas appropriée.

Par conséquent, la solution recommandée est de vérifier la présence de l'objet 'windows' avant y accéder. Cela garantit que votre code est portable entre les environnements de rendu côté client et côté serveur.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn