Render HTML string as real HTML in a React component(在 React 组件中将 HTML 字符串呈现为真实的 HTML)
问题描述
这是我尝试过的方法以及出现问题的原因.
Here's what I tried and how it goes wrong.
这行得通:
<div dangerouslySetInnerHTML={{ __html: "<h1>Hi there!</h1>" }} />
这不是:
<div dangerouslySetInnerHTML={{ __html: this.props.match.description }} />
<小时>
description 属性只是一个普通的 HTML 内容字符串.但是由于某种原因,它被呈现为字符串,而不是 HTML.
The description property is just a normal string of HTML content. However it's rendered as a string, not as HTML for some reason.
有什么建议吗?
推荐答案
检查您尝试附加到节点的文本是否没有像这样转义:
Check if the text you're trying to append to the node is not escaped like this:
var prop = {
match: {
description: '<h1>Hi there!</h1>'
}
};
而不是这个:
var prop = {
match: {
description: '<h1>Hi there!</h1>'
}
};
如果被转义,你应该从你的服务器端转换它.
if is escaped you should convert it from your server-side.
节点是文本,因为被转义了
The node is text because is escaped
该节点是一个dom节点,因为没有转义
The node is a dom node because isn't escaped
这篇关于在 React 组件中将 HTML 字符串呈现为真实的 HTML的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:在 React 组件中将 HTML 字符串呈现为真实的 HTML
基础教程推荐
- 角度Apollo设置WatchQuery结果为可用变量 2022-01-01
- 响应更改 div 大小保持纵横比 2022-01-01
- 动态更新多个选择框 2022-01-01
- 在 JS 中获取客户端时区(不是 GMT 偏移量) 2022-01-01
- Karma-Jasmine:如何正确监视 Modal? 2022-01-01
- 在for循环中使用setTimeout 2022-01-01
- 悬停时滑动输入并停留几秒钟 2022-01-01
- 有没有办法使用OpenLayers更改OpenStreetMap中某些要素 2022-09-06
- 当用户滚动离开时如何暂停 youtube 嵌入 2022-01-01
- 我什么时候应该在导入时使用方括号 2022-01-01