【发布时间】:2021-09-16 09:03:43
【问题描述】:
长话短说,我有包含 HTML 的字符串,这些字符串是在从安全服务器进行生产构建之前下载的。我们使用的框架是 React with Gatsby,通常您只需执行以下操作:
<div dangerouslySetInnerHTML={{__html: '<p>My Stuff</p>'}}></div>
这很好用,主要问题是出于 SEO 目的,我们希望将 html 编译成 html 而不是用 Javascript 呈现。
既然它已经是 HTML,有没有办法可以禁用 react 内部的保护,这样这些字符串就不会在默认情况下被转义并成为生产构建中的常规 HTML?
【问题讨论】:
-
也许你可以在这里找到一些有用的信息stackoverflow.com/questions/44643424/…
-
你渲染的是在服务器还是在客户端?
-
在客户端@CharlesBamford
-
@RadenKriting 我读过这篇文章,但它并没有解决我的问题。它仍然需要 javascript 来加载我的字符串并将其呈现为 html,因为 react 会对其进行转义。
-
当您构建 Gatsby 站点时,所有页面都是服务器端生成的,因此它将“变成”html。在禁用 js 的情况下检查您的页面,以查看服务器端生成的页面的结果。
标签: javascript html reactjs