text: import React from 'react';
  import PropTypes from 'prop-types';
  import { connect } from 'react-redux';
  import { compose } from 'redux';
  
  import injectSaga from 'utils/injectSaga';
  import injectReducer from 'utils/injectReducer';
  import makeSelectNavigationContainer from './selectors';
  import reducer from './reducer';
  import saga from './saga';
  
  import Navigation from '../../components/Navigation';
  import { requestTopics, selectTopic, toggleDrawer } from './actions';
  
  /* eslint-disable react/prefer-stateless-function */
  export class NavigationContainer extends React.Component {
    componentWillMount() {
      this.props.requestTopics();
    }
  
    render() {
      return <Navigation {...this.props} />;
    }
  }
  
  NavigationContainer.propTypes = {
    requestTopics: PropTypes.func.isRequired,
  };
  
  const mapStateToProps = makeSelectNavigationContainer();
  
  function mapDispatchToProps(dispatch) {
    return {
      requestTopics: () => dispatch(requestTopics()),
      selectTopic: topic => dispatch(selectTopic(topic)),
      toggleDrawer: () => dispatch(toggleDrawer()),
    };
  }
  
  const withConnect = connect(
    mapStateToProps,
    mapDispatchToProps,
  );
  
  const withReducer = injectReducer({ key: 'navigationContainer', reducer });
  const withSaga = injectSaga({ key: 'navigationContainer', saga });
  
  export default compose(
    withReducer,
    withSaga,
    withConnect,
  )(NavigationContainer);
  