我從服務器獲取一些數據以填充項目列表,並且每個項目都有一個綁定到項目ID的onClick事件,這會更改點擊時禁用的UI。ReactJS - 爲動態生成的項目設置唯一狀態
我的問題是,在用戶界面的變化上的第一次點擊禁用完美的,但是當我去點擊下一個項目它重置第一,所以只有一個在同一時間關閉按鈕。我該如何做到這一點,以便我可以禁用所有我想要的項目,而不需要重置以前的項目?
這裏是我的組件:
class Video extends Component {
constructor() {
super()
this.state = {
isDisabled: false
}
}
handleClick(frag, voted, event){
event.preventDefault()
this.setState({
isDisabled: {
[frag]: true
}
})
}
片斷我在改變殘疾人按鈕
<button onClick={this.handleClick.bind(this, frags.id, frags.voted)} disabled={this.state.isDisabled[frags.id]} className="rating-heart-2">
<i className="fa fa-heart" aria-hidden="true"></i>
</button>
我真的很感激所有提示UI回報!
目前尚不清楚如何'this.state.hasRated'被改變。這也令人困惑,因爲你改變了'isDisabled',但是使用'hasRated'來確定是否應該禁用按鈕。 – Chris
你解決了你的問題嗎?你能發表答案嗎? – Canastro