首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将react组件传入dangerouslySetInnerHtml?

如何将react组件传入dangerouslySetInnerHtml?
EN

Stack Overflow用户
提问于 2019-06-25 11:45:26
回答 1查看 194关注 0票数 0

假设我不能在我的源码中更改以下语句:

代码语言:javascript
复制
<div dangerouslySetInnerHTML={{ __html: template }} />  

如何替换react组件的模板?像这样:

代码语言:javascript
复制
<div dangerouslySetInnerHTML={{ __html: someReactComponent }} />  

如何在中插入reactjs组件?

EN

回答 1

Stack Overflow用户

发布于 2019-06-25 12:09:30

正如FrankerZ评论的那样,

你为什么要这么做?<div><someReactComponent /></div>。它使用“危险的”这个词...avoid是有原因的,如果你必须使用它的话。

是的,很明显。你不应该在大多数时间里使用dangerouslySetInnerHTML

如果您正在尝试呈现静态标记,则可以使用renderToStaticMarkup。链接的帖子也声明了这一点,但它不会工作,因为它是从React实例使用的。您需要在ReactDOMServer中使用它

代码语言:javascript
复制
import ReactDOMServer from 'react-dom/server';
ReactDOMServer.renderToStaticMarkup(statticElement)

这不会创建React内部使用的额外DOM属性,例如data-reactroot。如果您想使用React作为一个简单的静态页面生成器,这是很有用的,因为去掉额外的属性可以节省一些字节。

有关它的更多信息,请参阅docs

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56746556

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档