Skip to content

Instantly share code, notes, and snippets.

@Landerson352
Created December 10, 2019 15:40
Show Gist options
  • Save Landerson352/b13834b829e28770d6c923ab20cf64ef to your computer and use it in GitHub Desktop.
Save Landerson352/b13834b829e28770d6c923ab20cf64ef to your computer and use it in GitHub Desktop.
React Navigation browser screen listing all routes
import React from 'react';
import { map } from 'lodash';
import { View } from 'react-native';
import { utils } from '../theme';
import RootNavigator from '../RootNavigator';
import ScreenView from '../components/ScreenView';
import Text from '../components/Text';
const RouteDisplay = ({ router, routeName, route, urlParts }) => {
// router && console.log(Object.keys(router.getComponentForRouteName(routeName)));
return (
<View style={utils.pl4}>
<Text smallest>{routeName}</Text>
{route && route.childRouters && <RouterDisplay router={route} urlParts={urlParts}/>}
</View>
);
};
const RouterDisplay = ({ router, urlParts = [] }) => {
return (
<View>
{map(router.childRouters, (route, routeName) => (
<RouteDisplay router={router} routeName={routeName} route={route} urlParts={[...urlParts, routeName]}/>
))}
</View>
);
};
const NavigationBrowserScreen = () => (
<ScreenView padded>
<RouterDisplay router={RootNavigator.router}/>
</ScreenView>
);
export default NavigationBrowserScreen;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment