我从wysiwyg编辑器中保存了html,并从数据库中获取了html,我需要显示我通常使用的内容
<div dangerouslySetInnerHTML={{__html: content}} />
但是现在我需要在另一个组件中使用格式化的内容,
所以我希望是否有一个函数可以像这样返回标记
var formattedContent = getMarkup(content)//期望这样做会危险地执行SetInnerHTML
<Highlight search="Condominium" >
{formattedContent}
</Highlight>
因为这不起作用
<Highlight search="Condominium" >
<div dangerouslySetInnerHTML={{__html: content}} />
</Highlight>
感谢任何帮助,因为我几乎每天都在为此苦苦挣扎。
我在上面尝试的是
npmjs.com/package/react-highlighter-它突出显示匹配的单词,但我不仅要突出显示纯文本,还要突出显示html
最佳答案
dangerouslySetInnerHTML
值是一个以__html
为键,而HTML内容为值的对象。
<Highlight search="Condominium" >
<div dangerouslySetInnerHTML={{__html: content}} />
</Highlight>
更新:
Highlight
组件已经具有属性innerHTML
。您无需使用dangerouslySetInnerHTML
。来自官方Documentation:
<Highlight innerHTML={true}>{content}</Highlight>