Как вывести смайл в компонент с наибольшим количеством кликов?
При нажатие на кнопку ButtonResult выводиться наибольшее количество смайлов в компонент Winner, а должно выводиться смайл(к примеру ?) с наибольшим количеством голосов. Не могу понять как передавать смайл с наибольшим количеством кликов в компонент Winner. Main.js
export default class Main extends React.Component {
constructor(props) {
super(props);
this.state = {
vote1: 0,
vote2: 0,
vote3: 0,
vote4: 0,
vote5: 0,
}
this.increaseVote = this.increaseVote.bind(this);
this.checkWinner = this.checkWinner.bind(this);
}
increaseVote(id) {
this.setState(state => {
return {
[id]: state[id] + 1
}
})
}
checkWinner() {
const winner = Math.max(...Object.values(this.state))
console.log('winner: ', winner)
this.setState( {
winner
})
}
render() {
return (
<Wrapper>
<List>
<Item text="😜" id="vote1" increaseVote={this.increaseVote} state={this.state}/>
<Item text="😈" id="vote2" increaseVote={this.increaseVote} state={this.state}/>
<Item text="🚀" id="vote3" increaseVote={this.increaseVote} state={this.state}/>
<Item text="😎" id="vote4" increaseVote={this.increaseVote} state={this.state}/>
<Item text="😶" id="vote5" increaseVote={this.increaseVote} state={this.state}/>
</List>
<ButtonResult checkWinner={this.checkWinner} />
<Winner winner={this.state.winner}/>
</Wrapper>
)
}
}
Winner
export default class Winner extends React.Component {
render() {
const { winner } = this.props;
return (
<div className="block-winner">{winner}</div>
)
}
}
Item.js
export default class Item extends React.Component {
render() {
const { id, text, state, increaseVote } = this.props;
const onClick = () => increaseVote(id);
return (
<li>
<ButtonSmile onClick={onClick} id={id} text={text}/>
<Count text={state[id]}/>
</li>
)
}
}
ButtonResult.js
export default class ButtonResult extends React.Component {
render() {
const { checkWinner } = this.props;
return (
<button onClick={checkWinner} className="button-result">Result</button>
)
}
}
ButtonSmile
export default class ButtonSmile extends React.Component {
render() {
const { id, text, onClick } = this.props;
return (
<button onClick={onClick} className="button" id={id}>{text}</button>
)
}
}
Count
export default class Count extends React.Component {
render() {
const { text } = this.props;
return (
<p className="count-click">{text}</p>
)
}
}
List
export default class List extends React.Component {
render() {
return (
<ul className="list-buttons" id="listButtons">{this.props.children}</ul>
)
}
}
Wrapper
export default class Wrapper extends React.Component {
render() {
return (
<div className="wrapper">{this.props.children}</div>
)
}
}