最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

react中將html字符串渲染到頁(yè)面的實(shí)現(xiàn)方式

 更新時(shí)間:2022年12月02日 09:57:32   作者:池中飛雪  
這篇文章主要介紹了react中將html字符串渲染到頁(yè)面的實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

react將html字符串渲染到頁(yè)面

在做react項(xiàng)目時(shí),有時(shí)候需要將后臺(tái)傳過來的html的字符串變成真正的結(jié)構(gòu)渲染到頁(yè)面,如果直接插入的話頁(yè)面顯示的就是這段字符串,而不會(huì)進(jìn)行轉(zhuǎn)義,可以用以下方法插入,便可以html的形式展現(xiàn):

<div dangerouslySetInnerHTML={{__html: "<p>這里是自己要渲染的數(shù)據(jù)內(nèi)容</p>"}} />

實(shí)際用法:

<div className="detailImgWrap" dangerouslySetInnerHTML={{ __html:goodsDetailData.skuList[0].storeGoodsProfile}}></div>

react如何正常渲染一段HTML字符串

解決React項(xiàng)目后臺(tái)接口返回HTML 文本時(shí)無法解析渲染成正常的html問題:

dangerouslySetInnerHTMl 屬性

很多時(shí)候我們做一個(gè)項(xiàng)目接口會(huì)返回一段 HTML 字符串文本,然后我們把它解析渲染成正常的html,這是在項(xiàng)目中常見不能再常見的情況了,可是在 react 里邊就有一個(gè)小小的插曲,在這里分享給同學(xué)們;

由于react 項(xiàng)目中是 JSX 語法,JSX 防注入攻擊使得大括號(hào)里的html代碼全部變成字符串進(jìn)行渲染,本人就遇到了這樣的問題,(還是渲染這段代碼字符串文本,并沒有解析)

解決

原理:

1.dangerouslySetInnerHTMl 是React標(biāo)簽的一個(gè)屬性,類似于angular的ng-bind;

2.有2個(gè){{}},第一{}代表jsx語法開始,第二個(gè)是代表dangerouslySetInnerHTML接收的是一個(gè)對(duì)象鍵值對(duì);

3.既可以插入DOM,又可以插入字符串;

<div dangerouslySetInnerHTML = {{__html:返回的html代碼}} ></div>

當(dāng)然我們可以封裝成一個(gè)函數(shù)用于模板渲染的時(shí)候進(jìn)行調(diào)用:

function showhtml(htmlString){
? ? var html = {__html:htmlString};
? ? return ? <div dangerouslySetInnerHTML={html}></div> ;
}

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論

张家港市| 宁城县| 休宁县| 临夏市| 阳新县| 行唐县| 泰顺县| 永州市| 西畴县| 集安市| 临清市| 岳阳市| 台江县| 和政县| 安多县| 稻城县| 错那县| 泾阳县| 兰州市| 游戏| 黔南| 石屏县| 东莞市| 清丰县| 长垣县| 固镇县| 天长市| 甘孜| 石屏县| 富顺县| 咸宁市| 天门市| 双辽市| 明星| 彭州市| 南京市| 城市| 涪陵区| 延吉市| 舞钢市| 南康市|