【发布时间】:2019-02-21 09:00:17
【问题描述】:
所以,我正在尝试创建一个 onClick 函数,当我单击特定的 a 标记时,该函数使组件状态中的属性变为“true”
这里是状态
constructor(props){
super(props);
this.state = {
selected: false
}
}
这是一个函数,我只是将选择从 false 变为 true
targetValue = (e) => {
e.preventDefault();
this.setState({selected: true});
}
<div className="choose">
<a href="#" onClick={this.targetValue} className={(this.state.selected ? "choosen" : "")}></a>
<a href="#" onClick={this.targetValue} className={(this.state.selected ? "choosen" : "")}></a>
<a href="#" onClick={this.targetValue} className={(this.state.selected ? "choosen" : "")}></a>
<a href="#" onClick={this.targetValue} className={(this.state.selected ? "choosen" : "")}></a>
<a href="#" onClick={this.targetValue} className={(this.state.selected ? "choosen" : "")}></a>
<a href="#" onClick={this.targetValue} className={(this.state.selected ? "choosen" : "")}></a>
</div>
这里的问题是,当我单击一个“a”标签时,样式会应用于每个“a”标签。我希望它只应用于单击的“a”标签。我必须为每个“a”标签制作一个单独的组件还是有更合适的方法来应用它?
【问题讨论】:
标签: reactjs ecmascript-6 react-props