You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何渲染API返回字符串中的HTML标签?

解决字符串中转义HTML标签无法渲染的问题

React出于安全考虑,会自动转义所有插入到JSX中的字符串内容,所以直接写 <p>{Data.title}</p> 时,<b> 这类标签会被当成普通文本显示,不会被解析成HTML。

要让字符串里的HTML标签正常渲染,你需要使用React提供的 dangerouslySetInnerHTML 属性,它允许你直接插入原始HTML内容:

修改后的核心写法

<p dangerouslySetInnerHTML={{ __html: Data.title }}></p>

完整组件示例

const Data = [
    {
      id: '1',
      title: 'Blablab<b>labl</b>abla',
    },
    {
      id: '2',
      title: '2Blablab<b>labl</b>abla',
    },
];

function YourComponent() {
  return (
    <div>
      {Data.map(item => (
        <p key={item.id} dangerouslySetInnerHTML={{ __html: item.title }}></p>
      ))}
    </div>
  );
}

这样渲染后,Blablab<b>labl</b>abla 就会变成 Blablablablabla 的粗体效果。

⚠️ 注意:dangerouslySetInnerHTML 带"dangerously"字样是有原因的——如果插入的HTML内容来自不可信来源(比如用户输入、未过滤的第三方API数据),可能会引入XSS攻击风险。如果数据不可信,建议先用HTML清理库对内容过滤后再渲染。

内容的提问来源于stack exchange,提问作者Said Al-Ghiyats

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 01:30:50