我正在嘗試制作一個可重用的反應輸入元素。反應版本:
"react": "17.0.2"
我想傳入htmlFor標簽并在 childrenid屬性中使用它。所以我試圖將道具傳遞給{children}反應。我試過
uj5u.com熱心網友回復:
您收到此型別錯誤是因為React.cloneElement()需要克隆元素;children不保證是一個元素。它是一個ReactNode,它是一個型別別名,包括undefined和null。這些是從 React 組件回傳的有效型別,但不能傳遞給cloneElement. 你可以這樣做:
children = React.Children.map(children, el => {
return React.cloneElement(el, { id: label })
})
這將允許您依次克隆每個元素。如果您只期望單個元素,React.Children.only()可以以類似的方式使用
children = React.Children.only(children)
children = React.cloneElement(children)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/462370.html
上一篇:使用useState作為值時如何鍵入反應背景關系的初始狀態
下一篇:從物件陣列中洗掉鍵和值
