Actualmente, estoy creando una aplicación de reacción con Docusaurus y tengo problemas para crear la aplicación. El mensaje de error dice:
[0] [ERROR] Docusaurus Node/SSR could not render static page with path /adminTools because of following error: [0] ReferenceError: window is not defined [0] at Object.50671 (main:136486:44) [0] at __webpack_require__ (main:224909:42) [0] at Object.389 (main:136493:18) [0] at __webpack_require__ (main:224909:42) [0] at Module.95191 (main:58341:32) [0] at __webpack_require__ (main:224909:42) [0] at main:12784:4156 [0] [INFO] It looks like you are using code that should run on the client-side only. [0] To get around it, try using `<BrowserOnly>` (https://docusaurus.io/docs/docusaurus-core/#browseronly) or `ExecutionEnvironment` (https://docusaurus.io/docs/docusaurus-core/#executionenvironment). [0] It might also require to wrap your client code in `useEffect` hook and/or import a third-party library dynamically (if any). [0] ✔ Server: Compiled with some errors in 28.91s [0] [0] [0] Error: Server-side rendering fails due to the error above.Creo que esto es un problema con mis componentes adminTools, ya que uso solicitudes axios dentro de ellos para actualizar el estado en mi función componentDidMount. ¡Creo que esto está mal, y no estoy seguro de por qué y esperaba que alguien pudiera ayudarme a resolver esto! No estoy al 100% con el ciclo de vida, por lo que pido algún tipo de aclaración sobre lo que estoy haciendo mal.
Esto también podría ser un problema del paquete web, pero nuevamente no estoy seguro.
¡Cualquier ayuda es apreciada!
Gracias.
componentWillUnmount() { if(typeof window !== 'undefined'){ window.location.reload(); } }¡Lo resolví! Después de buscar un poco, me topé con esta publicación de desbordamiento: compilación React - Error de referencia: la ventana no está definida - Cómo ejecutar solo en el lado del cliente
Esta persona tuvo un problema similar y descubrí que al usar loadable(), pude solucionar el problema.
¡Mira sus documentos! Documentos cargables