在开发过程中,后台返回的数据中有些数据要分条展示,所以遍历数组,给每条数据后面加入了换行标签<br/>
,那么问题来了:怎么让reacr
直接渲染HTML呢?
经过查询官网知道react
的dangerouslySetInnerHTML
,可以解析并渲染html
代码。
用法如下:
//其中item.helpContent是一个带有<br/>的字符串
<div style={{paddingLeft: 15, textIndent: 2}} dangerouslySetInnerHTML={{__html:item.helpContent}}>
原理:
1:dangerouslySetInnerHTML
是React
标签的一个属性,类似于angular
的ng-bind
。
2:有2个{{}}
,第一个{}
代表jsx
语法开始,第二个是代表dangerouslySetInnerHTML
接收的是一个对象键值对。
3:既可以插入DOM
,又可以插入字符串。
注意dangerouslySetInnerHTML
中必须是一个对象,再举一个例子:
function createEvent() {
return {__html: 'First Second'};
}
function MyEvent() {
return <div dangerouslySetInnerHTML={createEvent()}></div>;
}
这是我遇到的问题解决方法,大家如果还有什么好的方法可以留言呀,一起进步ღ( ´・ᴗ・` )比心
网友评论