rsnext/examples/with-redux-code-splitting/containers/about.js
Henrik Wenz 2c0ff4b925 Fix failing linter tests (#5257)
Wonder how that one got through 🤔
2018-09-22 21:41:07 +02:00

32 lines
930 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)