react change render onclick code example
Example 1: react bind function to component
class Foo extends Component {
constructor(props) {
super(props);
this.handleClick = this.handleClick.bind(this);
}
handleClick() {
console.log('Click happened');
}
render() {
return <button onClick={this.handleClick}>Click Me</button>;
}
}
Example 2: onclick re
handleClick(id) {
this.setState({
vote_status: !this.state.vote_status,
})
let vote_object = {
voting_object: id,
post_id: this.props.postId
}
this.props.submitvote(vote_object)
//this.forceUpdate()
}
render() {
console.log("getVoteStatus", this.props.getVoteStatus)
let {contents, submitvote, postId, voted_id} = this.props
return (
<div className="txt_vote_bar_div" style={{
color: voted_id === contents.post_poll_content_id ? 'white' : '#9da0a4',
backgroundColor: this.state.vote_status ? '#0b97c4' : '#FFFFFF'
}} id={contents.post_poll_content_id}>
<p className="txt_vote_choice"
style={{color: this.state.vote_status || voted_id === contents.post_poll_content_id ? '#FFFFFF' : '#6a6a6a'}}
id={"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 || voted_id === contents.post_poll_content_id ? '#FFFFFF' : '#6a6a6a'}}> {contents.votes}%
(Votes:)</p>
</div>
);
};