Привет!
Отличный плагин, я действительно думаю, что это будет полезно для того, над чем я работаю.
Я заметил, что анализ любого img
-элемента вызывает указанную выше ошибку. Это также может относиться к любому элементу, у которого никогда не должно быть дочерних элементов.
Временный обходной путь - использовать что-то вроде этого:
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} />;
}
}
};
Спасибо, что дал мне знать. У вас есть пример, чтобы я мог воспроизвести эту ошибку?
Привет!
Вы можете воспроизвести это следующим образом:
ReactDOM.render(Parser('<div><img src="" alt=""/></div>'), document.getElementById('root'));
Отлично, спасибо!
@ poacher2k Спасибо за пример. Я изучил ошибку и исправил ее в №16.
Попробуйте npm update html-react-parser
или npm install [email protected]
и дайте мне знать, устранит ли это ошибку для вас.
Это исправлено, еще раз спасибо! Рад видеть, что вы также добавили проверки для других элементов void!
Приятно слышать, и добро пожаловать! 👍
@remarkablemark Я все еще сталкиваюсь с проблемой, и код npm install [email protected] не обновлен в этой версии.
@ vidit1 Можете ли вы подтвердить, что установили версию latest
?
npm i html-react-parser<strong i="8">@latest</strong>
# or
npm i [email protected]
Затем проверьте, выполнив:
npm ls html-react-parser
@remarkablemark Я обновил последнюю версию html- Элемент находится внутри компонента 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 : у вас есть текст «Bootstrap» внутри вашего тега img
. Как говорится в ошибке, img
является пустым элементом и не может иметь дочерних элементов.
См. Комментарий @remarkablemark ниже, чтобы узнать, как это исправить.
@blueskysmart Комментарий, сделанный @ poacher2k , правильный. Вы можете увидеть воспроизведение этой ошибки на этой скрипке .
Хорошо, понятно. Спасибо.
Эта ошибка возникает также, если вы попытаетесь разобрать это:
<img src="img.jpg".>
Чтобы он работал, оберните его в div:
<div>
<img src="img.jpg".>
</div>
Я столкнулся с этой проблемой, потому что пытался добавить детей в тег img ...
Самый полезный комментарий
Я столкнулся с этой проблемой, потому что пытался добавить детей в тег img ...