我从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>

09-20 20:24