如何在React中呈现HTML字符串?

问题描述 投票:4回答:2

我有像< b >hi< /b >这样的字符串。我必须把它渲染成“嗨”。有人能让我知道像Angular中的innerHTML这样的东西,我可以在React中使用吗?

reactjs
2个回答
17
投票

您好,你可以尝试dangerouslySetInnerHTML与封闭标签:

  <div dangerouslySetInnerHTML={{ __html: yourhtml }} />

0
投票

根据官方React docs

dangerouslySetInnerHTML是React在浏览器DOM中使用innerHTML的替代品。通常,从代码设置HTML是有风险的,因为很容易无意中将您的用户暴露给跨站点脚本(XSS)攻击。因此,您可以直接从React设置HTML,但是您必须键入dangerouslySetInnerHTML并使用__html键传递对象,以提醒自己这很危险。例如:

function createMarkup() {
  return {__html: 'First &middot; Second'};
}

function MyComponent() {
  return <div dangerouslySetInnerHTML={createMarkup()} />;
}
© www.soinside.com 2019 - 2024. All rights reserved.