【发布时间】:2019-07-27 20:39:47
【问题描述】:
我有一个父类,它使用它的子类从数组“days”中呈现一些按钮。到目前为止,这工作正常。我使用处理程序将 handleClick() 传递给孩子。这也有效,如果没有 if 语句,我会在控制台中获得返回。我的代码有什么问题或考虑 if 语句有什么问题。 如果我单击值为 days[0] = 1 的按钮,它应该回复“Hi 1”。
家长:
export default class Parent extends React.Component {
constructor(props) {
super(props);
this.handleClick = this.handleClick.bind(this);
this.state = {
days: [1,2,3]
}
}
handleClick() {
if(this.props.value === 1) {
return console.log('Hi 1')
}
}
render() {
return (
<div>
<div>
{this.state.days.map(item => <ButtonDays handler={ () => this.handleClick()} key={item} value={item} />)}
</div>
</div>
);
}
}
孩子:
export default class ButtonDays extends React.Component {
render() {
return (
<Button onClick={this.props.handler}>{this.props.value}</Button>
);
}
}
【问题讨论】:
-
我不明白什么...你希望当子按钮被点击时,它基本上是 console.log
Hi及其来自父级的值? -
this.props.value在Parent类中是undefined
标签: reactjs onclick state react-props