我需要将一个React组件插入到包含HTML内容的字符串变量中。这个变量将使用dangerouslySetInnerHTML进行呈现。
我用我的占位符"!#ShareButton"替换了React组件的内容,但它呈现的是[object Object]而不是组件本身。
React组件:
const ShareThis = ({ text }) => {
return (
<div class="one-line">{text}</div>
)}
export default ShareThis
变量 content(包含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内容的字符串变量中吗?