Estoy usando React 16 beta (react-fiber) con renderizado del lado del servidor
¿Qué debo entender que significa esto?
warning.js:36 Warning: Did not expect server HTML to contain a <div> in <div>.Simplemente cambie la respuesta expresa de
<body> <div id="root"> ${markup} </div> </body>para
<body> <div id="root">${markup}</div> </body>Eliminar espacio entre etiquetas
Al buscar ese error en el código de reacción, parece que esto sucede cuando el SSR html no se puede rehidratar.
Entonces, de alguna manera, inicialmente está representando un árbol diferente en el cliente frente al servidor.
Enfrenté la misma advertencia mientras usaba Modal en Next.js. Estaba trabajando para crear una ventana emergente en la página principal.
Encontré una solución. Si el estado del espectáculo modal se cumple primero, produce esta advertencia. Así que primero lo hice indefinido y luego lo configuré verdadero después de que la página se representara. El código está debajo.
const [modalShow, setModalShow] = React.useState(); useEffect(() => { if ( modalShow === undefined ) { setModalShow(true) } }, [modalShow])