提问者:小点点

在地图功能中时超过最大更新深度[重复]


我正在尝试将一个函数从父级传递给子级,这样当有人单击子组件时,它将切换为另一个。所以我所做的是

class Comp extends Component {
  constructor(props) {
    super(props);
    this.state = {active: true};

    this.handleClick = this.handleClick.bind(this);
  }

  handleClick() {
    this.setState({active: !this.state.active});
  }

  render() {

    return (
      <div>
  if(this.state.active)
              {this.state.callerData.map((agent, i) => (
                <CompAltWidget compalt={compalt} key={i} handleClick={this.handleClick} />
              ))}
              else if(!this.state.active){this.state.callerData.map((agent, i) => (
                <compWidget comp={comp} key={i} handleClick={this.handleClick} />
              ))}
</div>
    );
  }
}

export default Comp;

和子组件:

class CompWidget extends Component {
  handleClick() {
    this.props.handleClick();
  }
render() {
    return (
      <div >
<div className="wrapper" onClick={this.props.handleClick()}>
                      <LineChart line1Data={this.props.comp} />
            </div>
          </div>
    );
  }
}

export default ComptWidget;

和CompWidget的第二个组件-


共1个答案

匿名用户

你想写作吗

<div className="wrapper" onClick={this.props.handleClick}>