1 回答

TA貢獻1799條經(jīng)驗 獲得超8個贊
在您的組件狀態(tài)中跟蹤所有元素
元素是 html 元素的數(shù)組 []
在按鈕上單擊將新元素推送到該數(shù)組
在渲染函數(shù)中,您需要循環(huán)元素數(shù)組并渲染每個元素
我使用功能組件來演示這一點,您應(yīng)該能夠根據(jù)自己的需要進行調(diào)整。
const test = () => {
const [elements, setElements] = useState([<div> Some Element You Want Rendered </div>]);
return (
<div id="growRoot">
<img
onClick={(e) => {
const element = document.createElement("div");
element.innerText = x;
element.setAttribute("id", "x" + x++);
element.style.top = event.clientY + "px";
element.style.left = event.clientX - 10 + "px";
setElements([...elements].concat([element]))
}}
id="growIcon"
src="./Images/Plague_Icon_3.png"
alt="Dummy growIcon"
/>
{elements.map(element => element)}
</div>
)
}
添加回答
舉報