【发布时间】:2020-09-17 00:38:04
【问题描述】:
我需要将 React 组件插入到包含 html 内容的 String 变量中。 此变量将使用 dangerouslySetInnerHTML 呈现。
我将占位符“!#ShareButton”替换为我的 React 组件的内容,但它呈现的是 [object Object] 而不是组件本身
反应组件:
const ShareThis = ({ text }) => {
return (
<div class="one-line">{text}</div>
)}
export default ShareThis
var 内容(带有 html 内容的字符串变量)
<p>Text 1</p>
!#ShareButton
<p>Text 2</p>
页面:
const htmlcontent = content.replace(/!#ShareThis/g,
<ShareThis
text="Hello"
/>)
return (
<div dangerouslySetInnerHTML={{ __html: htmlcontent }} />
)
结果:
Text 1
[object Object]
Text 2
你知道如何将 React 组件插入到带有 html 内容的 String 变量中吗?
【问题讨论】:
标签: javascript html reactjs replace jsx