/** * * {{properCase name }} * */ import React from 'react'; import PropTypes from 'prop-types'; import { connect } from 'react-redux'; {{#if wantHeaders}} import { Helmet } from 'react-helmet'; {{/if}} {{#if wantMessages}} import { FormattedMessage } from 'react-intl'; {{/if}} {{#if wantActionsAndReducer}} import { createStructuredSelector } from 'reselect'; {{/if}} import { bindActionCreators, compose } from 'redux'; {{#if wantSaga}} import injectSaga from 'utils/injectSaga'; {{/if}} {{#if wantActionsAndReducer}} import injectReducer from 'utils/injectReducer'; import makeSelect{{properCase name}} from './selectors'; import reducer from './reducer'; {{/if}} {{#if wantSaga}} import saga from './saga'; {{/if}} {{#if wantMessages}} import messages from './messages'; {{/if}} export class {{ properCase name }} extends {{{ type }}} { // eslint-disable-line react/prefer-stateless-function render() { return (
{{#if wantHeaders}} {{properCase name}} {{/if}} {{#if wantMessages}} {{/if}}
); } } {{ properCase name }}.propTypes = { dispatch: PropTypes.func.isRequired, }; {{#if wantActionsAndReducer}} const mapStateToProps = createStructuredSelector({ {{ lowerCase name }}: makeSelect{{properCase name}}(), }); {{/if}} function mapDispatchToProps(dispatch) { return bindActionCreators( {}, dispatch ); } {{#if wantActionsAndReducer}} const withConnect = connect(mapStateToProps, mapDispatchToProps); /* Remove this line if the container doesn't have a route and * check the documentation to see how to create the container's store */ const withReducer = injectReducer({ key: '{{ camelCase name }}', reducer }); {{else}} const withConnect = connect(null, mapDispatchToProps); {{/if}} {{#if wantSaga}} /* Remove the line below the container doesn't have a route and * check the documentation to see how to create the container's store */ const withSaga = injectSaga({ key: '{{ camelCase name }}', saga }); {{/if}} export default compose( {{#if wantActionsAndReducer}} withReducer, {{/if}} {{#if wantSaga}} withSaga, {{/if}} withConnect, )({{ properCase name }});