generator-foo
Version:
Foo project scaffold generator based on generator-jam3
60 lines (51 loc) • 1.67 kB
JavaScript
import "styles/views/Home"
import React, {PropTypes} from "react"
import {connect} from "react-redux"
import ctg from "foo/core/redux/redux-transition"
import {increase, decrease} from "app/actions/count"
import {routeAppear, routeLeave} from 'app/animations/routes'
import gsap from 'react-gsap-enhancer'
const mapStateToProps = ( state ) => {
return { count: state.count.number, locale: state.app.locale }
}
const mapDispatchToProps = ( dispatch ) => {
return {
onIncrease: () => {
dispatch( increase( 1 ) )
},
onDecrease: () => {
dispatch( decrease( 1 ) )
}
}
}
( mapStateToProps, mapDispatchToProps, null, { withRef: true } )
()
export default class Home extends React.Component {
static displayName = "Home";
static propTypes = {
count : PropTypes.number.isRequired,
onIncrease: PropTypes.func.isRequired,
onDecrease: PropTypes.func.isRequired
}
componentDidMount () {
}
componentWillEnter ( callback ) {
this.addAnimation( routeAppear, { callback } );
}
componentWillLeave ( callback ) {
this.addAnimation( routeLeave, { callback } );
}
render () {
const { count, onIncrease, onDecrease } = this.props;
return (
<div className="Home">
<h2>{$t( "home.title" )} Foo</h2>
<h3>{$t( "home.subtitle" )}</h3>
<button onClick={onIncrease}>increase</button>
<button onClick={onDecrease}>decrease</button>
<div>Some state changes: {count}</div>
</div>
);
}
}