1 回答

TA贡献1799条经验 获得超8个赞
在您的组件状态中跟踪所有元素
元素是 html 元素的数组 []
在按钮上单击将新元素推送到该数组
在渲染函数中,您需要循环元素数组并渲染每个元素
我使用功能组件来演示这一点,您应该能够根据自己的需要进行调整。
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>
)
}
添加回答
举报