rsnext/examples/with-redux-code-splitting/containers/about.js
Tim Neutkens 9c4eefcdbf
Add prettier for examples directory (#5909)
* Add prettier for examples directory

* Fix files

* Fix linting

* Add prettier script in case it has to be ran again
2018-12-17 17:34:32 +01:00

42 lines
976 B
JavaScript

import React from 'react'
import { bindActionCreators } from 'redux'
import { connect } from 'react-redux'
import { namespaceConfig } from 'fast-redux'
import Link from 'next/link'
const DEFAULT_STATE = { version: 1 }
const { actionCreator, getState: getAboutState } = namespaceConfig(
'about',
DEFAULT_STATE
)
const bumpVersion = actionCreator('bumpVersion', function (state, increment) {
return { ...state, version: state.version + increment }
})
const About = ({ version, bumpVersion }) => (
<div>
<h1>About us</h1>
<h3>Current version: {version}</h3>
<p>
<button onClick={e => bumpVersion(1)}>Bump version!</button>
</p>
<Link href='/'>
<a>Homepage</a>
</Link>
</div>
)
function mapStateToProps (state) {
return getAboutState(state, 'version')
}
function mapDispatchToProps (dispatch) {
return bindActionCreators({ bumpVersion }, dispatch)
}
export default connect(
mapStateToProps,
mapDispatchToProps
)(About)