如何更改反应组件的子属性

时间:2016-07-23 11:34:04

标签: javascript reactjs

我与许多不同的孩子做出反应:

render() {
    let Tag = '${this.props.wrapper}';
    return (
        <Tag>
            {this.props.children}
        </Tag>
    );
}

当发生某些事件时,我需要更改许多孩子的className属性。有没有办法从父组件中做到这一点?

2 个答案:

答案 0 :(得分:1)

我认为你正在寻找这样的东西:

render() {
  return React.createElement(
    this.props.wrapper,
    null,

    // Children
    React.cloneElement(
      this.props.children,
      {className: 'assignedChildClassname'}
    )
  );
}

这会解决您的问题吗?

答案 1 :(得分:0)

在您的父组件中,您可以将classNames作为props

传递
<Child className={this.state.classes}/>

您的父州将拥有可在点击

时更改的课程