【发布时间】:2026-01-31 08:55:02
【问题描述】:
目标:我想将包含 React 组件的字符串转换成功能齐全的 JSX。
Stack Overflow 上有很多解决方案,比较简单的例子是这样的:
render()
{
let txt = "<span><b>Hello World!</b></span>";
return <div dangerouslySetInnerHTML={{__html: txt}}></div>;
//---OR---
return ReactHtmlParser(txt); //using react-html-parser
//---OR---
return parse(txt); //using html-react-parser
}
但如果相反,let txt = "<MyComponent/>";,其中 MyComponent 是一个自定义 React 组件,我无法找到让浏览器正确解释它的方法。
使用一些方法,它会以小写<mycomponent><mycomponent/> 进入DOM。使用其他技巧,我可以将它作为大写的<MyComponent><MyComponent/> 放入 DOM。但是浏览器不会将 MyComponent 解释为 React 组件,也不会执行里面的代码。
我对@987654327@ 的答案不感兴趣,因为我不想一次将它用于一个组件。我想解析 JSX 的长字符串。
【问题讨论】:
标签: reactjs dom html-parsing