首页 > 解决方案 > 如何使用 gatsby 静态站点生成器生成 ckeditor 输出的真实 html?

问题描述

我有一个带有strapi的api后端,我在那里用一个ckeditor创建了我的所有内容。内容应该以真正的 html 格式显示在我的 gatsby 网站中。但是我用 graphql 查询内容,而 gatsby 仅在原始 html 中显示此内容有没有办法将 gatsby 的查询内容转换为真正的 html?我找不到任何插件或工具来解决这个问题。

标签: ckeditorgatsbystrapickeditor5

解决方案


大量缺乏试验、源代码等。但是,您需要使用的是内置dangerouslysetinnerhtml属性。你根本不需要任何插件。

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

请记住,这是 React在浏览器 DOMdangerouslySetInnerHTML中使用的替代品。innerHTML一般来说,从代码中设置 HTML 是有风险的,因为很容易无意中将您的用户暴露给跨站点脚本 (XSS) 攻击。所以,你可以直接从 React 中设置 HTML,但你必须输入dangerouslySetInnerHTML并传递一个带有__html键的对象,以提醒自己这很危险。


推荐阅读