2 回答

TA貢獻1806條經驗 獲得超8個贊
查看此實現?;旧?,您需要使用 useState React Hook 來存儲要添加為畫布子級的所有組件。
export default function App() {
const [buttonsOnCanvos, setButtonsOnCanvos] = useState([]);
return (
<div className="App">
<Button
event={() => {
setButtonsOnCanvos([...buttonsOnCanvos, <Button />]);
}}
/>
<div className="canvos">{buttonsOnCanvos}</div>
</div>
);
}

TA貢獻1993條經驗 獲得超6個贊
您不需要直接訪問 DOM。您可以有一個狀態來指示是否顯示元素。然后,有條件地在 div 中呈現 。.canvos<Button />
export default function App() {
const [showCanvos, setShowCanvos] = useState(false);
const addToCanvos = () => {
setShowCanvos(true)
};
return (
<div className="App">
<Button event={addToCanvos} />
<div className="canvos">
{showCanvos && <Button />}
</div>
</div>
);
}
請注意,我將該函數移到了組件中。addToCanvosApp
添加回答
舉報