rsnext/examples/with-redux-persist/components/counter.js
Joe Haddad 18a9c7e371
Improve linting rules to catch more errors (#9374)
* Update `packages/`

* Update examples

* Update tests

* Update bench

* Update top level files

* Fix build

* trigger
2019-11-10 19:24:53 -08:00

44 lines
1 KiB
JavaScript

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()
}
render() {
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>
)
}
}
function mapStateToProps(state) {
const { count } = state
return { count }
}
const mapDispatchToProps = dispatch =>
bindActionCreators({ incrementCount, decrementCount, resetCount }, dispatch)
export default connect(mapStateToProps, mapDispatchToProps)(Counter)