¡Hola!
Gran complemento, realmente creo que esto será útil para lo que estoy trabajando.
Me di cuenta de que analizar cualquier elemento img
provoca el error anterior. Esto también puede aplicarse a cualquier elemento que nunca debería tener elementos secundarios.
Una solución temporal es usar algo como esto:
const parserConfig = {
replace: domNode => {
if(domNode.type === DOM_TYPE_TAG && domNode.name === 'img') {
return <img src={domNode.attribs.src} alt={domNode.attribs.alt} className={domNode.attribs.class} />;
}
}
};
Gracias por hacérmelo saber. ¿Tiene un ejemplo para que pueda reproducir este error?
¡Hola!
Puede reproducir esto con lo siguiente:
ReactDOM.render(Parser('<div><img src="" alt=""/></div>'), document.getElementById('root'));
¡Increíble gracias!
@ poacher2k Gracias por el ejemplo. Investigué el error y lo solucioné en el n. ° 16.
Pruebe npm update html-react-parser
o npm install [email protected]
y avíseme si esto elimina el error.
Eso lo solucionó, ¡gracias de nuevo! ¡Me alegra ver que también agregaste comprobaciones para otros elementos nulos!
¡Es genial escucharlo y de nada! 👍
@remarkablemark Todavía estoy enfrentando el problema y el código npm install [email protected] no está actualizado en esta versión.
@ vidit1 ¿Puede confirmar que instaló la versión latest
?
npm i html-react-parser<strong i="8">@latest</strong>
# or
npm i [email protected]
Luego verifique haciendo:
npm ls html-react-parser
@remarkablemark Actualicé la última versión html-react-parser y todavía tengo este problema. Mi El elemento está dentro de un componente material-ui.
<Drawer>
<div className="alert" role="alert">
<img src="https://getbootstrap.com/assets/brand/bootstrap-solid.svg" width="30" height="30" className="d-inline-block align-top" alt="">
Bootstrap
</img>
</div>
</Drawer>
@blueskysmart : Tienes el texto "Bootstrap" dentro de tu etiqueta img
. Como dice el error, img
es un elemento nulo y no puede tener hijos.
Consulte el comentario de @remarkablemark a continuación para obtener orientación sobre cómo solucionarlo.
@blueskysmart El comentario hecho por @ poacher2k es correcto. Puedes ver la reproducción de este error en este violín .
Okie, ya veo. Gracias.
Este error aparece también si solo intenta analizar esto:
<img src="img.jpg".>
Para que funcione, envuélvalo en un div:
<div>
<img src="img.jpg".>
</div>
Me estaba encontrando con este problema porque estaba tratando de agregar niños a una etiqueta img ...
Comentario más útil
Me estaba encontrando con este problema porque estaba tratando de agregar niños a una etiqueta img ...