Skip to content

Instantly share code, notes, and snippets.

@andrerfneves
Last active August 31, 2017 19:33
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save andrerfneves/254ca1f7ce8868bad409d14be9af566d to your computer and use it in GitHub Desktop.
Save andrerfneves/254ca1f7ce8868bad409d14be9af566d to your computer and use it in GitHub Desktop.
MainTileContainer: Container in a React Native application that handles business logic and mapping of application state to props. This leverages HOC components (redux's `connect`) for abstracting common logic between components.
// @flow
import { connect } from 'react-redux';
import MainTileScreen from '../../screens/main-tile/main-tile';
import { fetchPageData } from '../../actions/api/page/fetch-page-data';
import { navigateToRoute } from '../../actions/navigation/navigate-to-route';
import { showModal } from '../../actions/navigation/show-modal';
import { toggleDrawer } from '../../actions/navigation/toggle-drawer';
const mapStateToProps = (state: Object) => ({
nav: state.nav,
navbar: state.mainNavbar,
pageData: state.pages,
secondaryNavigation: state.secondaryNavigation,
});
const mapDispatchToProps = (dispatch: Function) => ({
fetchPageData: (pagePath) => dispatch(fetchPageData(pagePath)),
navigateToRoute: (routeObj, navigator) => dispatch(navigateToRoute(routeObj, navigator)),
showModal: (routeObj, navigator) => dispatch(showModal(routeObj, navigator)),
toggleDrawer: (navigator) => dispatch(toggleDrawer(navigator)),
});
export default connect(
mapStateToProps,
mapDispatchToProps,
)(MainTileScreen);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment