我從我後端獲得的數據中渲染4個div。我正根據狀態更改着色這些div。到目前爲止,我成功地做到了,但唯一的問題是所有4個div都可以用這種方式着色。當我爲另一個div着色時,我想先去掉上一個div。我怎樣才能做到這一點?根據狀態變化將樣式應用於僅一個div
我的代碼
textVote() {
this.setState({
vote_status: !this.state.vote_status
})
}
handleClick(id) {
let vote_object = {
voting_object: id,
post_id: this.props.postId
}
this.props.submitvote(vote_object)
this.textVote();
}
render() {
console.log("getVoteStatus", this.props.getVoteStatus)
let {contents, submitvote, postId} = this.props
return (
<div className="txt_vote_bar_div" style={{backgroundColor: this.state.vote_status ? '#0b97c4' : 'white'}}>
<p className="txt_vote_choice" style={{color: this.state.vote_status ? '#FFFFFF' : '#6a6a6a'}}
id={contents.post_poll_content_id} onClick={() => {
this.handleClick(contents.post_poll_content_id);
}}> {contents.content} </p>
<p className="txt_tot_votes" style={{color: this.state.vote_status ? '#FFFFFF' : '#6a6a6a'}}> 56% (Votes: {contents.votes}) </p>
</div>
);
};
我怎樣才能使它所以我只顏色一組格的背景和去除背景顏色,當我選擇another.Thanks。
什麼決定哪個div應該着色?我只能在這個例子中看到一個div(並且它不在render函數中) – jye265
@jye265在handleClick方法中,我正在改變一個state.based在那個狀態背景着色正在發生 – CraZyDroiD
你在映射/循環這個渲染函數任何方式?如果是,在哪一點? –