色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

html-to-react:如何替換所有& # 39;img & # 39保留樣式的同時使用React組件的元素?

夏志豪2年前7瀏覽0評論

這個問題與html-to-react庫有關(guān)。

假設(shè)我有以下html字符串:

& ltdiv & gt & ltimg src = " test . png " style = " width:100px;"/& gt; & ltimg src = " test 2 . png " style = " margin:0px 4px;"/& gt; & lt/div & gt;'

通常我會這樣解析:

import {Parser} from 'html-to-react'
const reactElement = Parser.parse(htmlString);

這將產(chǎn)生一個React元素,它的子元素是一個div和兩個嵌套的img元素。

我該如何解析這個字符串,以便用一個定制的圖像組件替換每個img,同時保留img的原始屬性(包括樣式)?

例如,生成的react元素將具有以下子元素:

& ltdiv & gt & ltimage src = " test . png " style = { { width:100 } }/& gt; & ltimage src = " test 2 . png " style = { { margin:" 0px 4px " } }/& gt; & lt/div & gt;

感謝幫助!謝謝

您可以通過執(zhí)行以下操作來實現(xiàn)這一點,

Parser(htmlString, {
  replace: (domNode) => {
    if (domNode.name === "img") {
      return <Image src={domNode.attribs.src} style={{ width: 100 }} />;
    }
  },
});

這并不能完全解決你的問題,因為我可以看到你需要兩種不同風(fēng)格的兩個圖像標(biāo)簽,但這樣做可能會得到一個解決方案。

請試試這個:

const { Parser } = require('html-to-react');

const htmlString = '<div>
    <img src="test.png" style="width: 100px;"/>
    <img src="test2.png" style="margin: 0px 4px;"/>
</div>'; 

const reactComponent = Parser.parseWithInstructions(
    htmlString,() {
        return true;
    },[
        {replaceChildren: true}
    ]
);