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!