在 ReactJS 组件中修改孩子的属性

IT技术 reactjs
2021-05-24 13:05:57

我想弄清楚如何修改组件的子组件,例如添加一个类。我试过这样做:

var inputReactObject = React.Children.only(this.props.children);

inputReactObject.className = "test";

但是,这似乎不起作用。

是否可以修改 ReactJS 组件中的子属性?

完整的plunker:http ://plnkr.co/edit/msbUSDBQn17qXzBHzGXD?p=preview

2个回答

现在cloneWithProps弃用,当前的方法是

var inputReactObject = React.Children.only(this.props.children);
var clonedChild = React.cloneElement(inputReactObject, {
  className: "input-element test"
});

return clonedChild;

正如@lpiepiora plunker 所提到的,做我想做的代码是:

var inputReactObject = React.Children.only(this.props.children);
var clonnedChild = React.addons.cloneWithProps(inputReactObject, {
  className: "input-element test"
});

return clonnedChild;