rsnext/examples/with-immutable-redux-wrapper/pages/other.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

34 lines
840 B
JavaScript

import React from 'react'
import { bindActionCreators } from 'redux'
import { startClock, addCount, serverRenderClock } from '../store'
import Page from '../components/Page'
import { connect } from 'react-redux'
class Counter extends React.Component {
static getInitialProps({ store, isServer }) {
store.dispatch(serverRenderClock(isServer))
store.dispatch(addCount())
return { isServer }
}
componentDidMount() {
this.timer = this.props.startClock()
}
componentWillUnmount() {
clearInterval(this.timer)
}
render() {
return <Page title="Other Page" linkTo="/" />
}
}
const mapDispatchToProps = dispatch => {
return {
addCount: bindActionCreators(addCount, dispatch),
startClock: bindActionCreators(startClock, dispatch),
}
}
export default connect(null, mapDispatchToProps)(Counter)