我正在尝试将一个函数从父级传递给子级,这样当有人单击子组件时,它将切换为另一个。所以我所做的是
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的第二个组件-
你想写作吗
<div className="wrapper" onClick={this.props.handleClick}>