从 markdown 生成 HTML 仅适用于 React App 中的 dangerouslySetInnerHTML

Generating HTML from markdown only works with dangerouslySetInnerHTML in React App

我正在尝试编写一个简单的 markdwon 预览器。 问题是当我在渲染方法中的 div 中插入生成的 HTML 文本时,如下所示:

render() {
   return (
     <div>
       {this.state.genHTML}
     </div>  
  );
}

它不会呈现,而是像字符串一样显示它的标签。 但是 dangerouslySetInnerHTML 生成的 HTML 被渲染了。

我想知道为什么会这样?

一般来说,从代码中设置 HTML 是有风险的(因为跨站点脚本(XSS)),这就是为什么在 React 中你需要使用 "dangerouslySetInnerHTML" 来设置它。这只是一个规则,如果你想使用 React 框架,你需要遵守。