我从我后端获得的数据中渲染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
你在映射/循环这个渲染函数任何方式?如果是,在哪一点? –