import React from 'react'; import Link from './Link'; import Footer from './Footer'; import DocSearchBar from './DocSearchBar'; import { addNavigationHelpers } from 'react-navigation'; const NavigationLinks = ({ navigation, className, reverse }) => { let links = [ ...navigation.state.routes.map((route, i) => { if (route.routeName === 'Home' || route.routeName === 'NotFound') { return null; } return ( {route.routeName} ); }), Demo , GitHub , ]; if (reverse) { links = links.reverse(); } return
{links}
; }; class AppFrame extends React.Component { state = { isMobileMenuOpen: false }; componentWillReceiveProps(props) { if (this.props.navigation.state !== props.navigation.state) { this.setState({ isMobileMenuOpen: false }); window.scrollTo(0, 0); } } render() { const { navigation, router } = this.props; const { isMobileMenuOpen } = this.state; const childNavigation = addNavigationHelpers({ ...navigation, state: navigation.state.routes[navigation.state.index], }); const { state } = navigation; const ScreenView = router.getComponentForRouteName( state.routes[state.index].routeName ); const { routes, index } = state; const route = routes[index]; const hasChildNavigation = !!route.routes; return (
); } } export default AppFrame;