2019-05-23 22:13:48 +02:00
|
|
|
import React, { Component } from 'react'
|
|
|
|
import { connect } from 'react-redux'
|
|
|
|
import { bindActionCreators } from 'redux'
|
|
|
|
import { incrementCount, decrementCount, resetCount } from '../store'
|
|
|
|
|
|
|
|
class Counter extends Component {
|
|
|
|
increment = () => {
|
|
|
|
const { incrementCount } = this.props
|
|
|
|
incrementCount()
|
|
|
|
}
|
|
|
|
|
|
|
|
decrement = () => {
|
|
|
|
const { decrementCount } = this.props
|
|
|
|
decrementCount()
|
|
|
|
}
|
|
|
|
|
|
|
|
reset = () => {
|
|
|
|
const { resetCount } = this.props
|
|
|
|
resetCount()
|
|
|
|
}
|
|
|
|
|
2019-11-11 04:24:53 +01:00
|
|
|
render() {
|
2019-05-23 22:13:48 +02:00
|
|
|
const { count } = this.props
|
|
|
|
return (
|
|
|
|
<div>
|
|
|
|
<h1>
|
|
|
|
Count: <span>{count}</span>
|
|
|
|
</h1>
|
|
|
|
<button onClick={this.increment}>+1</button>
|
|
|
|
<button onClick={this.decrement}>-1</button>
|
|
|
|
<button onClick={this.reset}>Reset</button>
|
|
|
|
</div>
|
|
|
|
)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2019-11-11 04:24:53 +01:00
|
|
|
function mapStateToProps(state) {
|
2019-05-23 22:13:48 +02:00
|
|
|
const { count } = state
|
|
|
|
return { count }
|
|
|
|
}
|
|
|
|
const mapDispatchToProps = dispatch =>
|
|
|
|
bindActionCreators({ incrementCount, decrementCount, resetCount }, dispatch)
|
|
|
|
|
2019-11-11 04:24:53 +01:00
|
|
|
export default connect(mapStateToProps, mapDispatchToProps)(Counter)
|