我想知道如何在JSX中使用cloneElement语法。我阅读了Docs并尝试了示例,但仍然没有任何线索。

class ABC extends React.Component {
  constructor(props){
    super(props)
}
render() {
  return(
  <div>
    {React.cloneElement()}
  </div>
  )
}
}

最佳答案

根据 documentation :



当您希望向父级传递的子级元素添加一个/多个 Prop 时,cloneElement的有效用例。您只需映射所有子级,然后通过添加新 Prop 来克隆它们。

return (
  <div style={styles}>
    {React.Children.map(children, child => {
      console.log(child);
      return React.cloneElement(child, {newProp}, null);
    })}
  </div>
)

检查 working demo

09-25 16:58