1import { BottomTabNavigationProp } from '@react-navigation/bottom-tabs'; 2import { createStackNavigator } from '@react-navigation/stack'; 3import * as React from 'react'; 4 5import TabIcon from '../components/TabIcon'; 6import ExpoApis from '../screens/ExpoApisScreen'; 7import { Screens } from './ExpoApis'; 8import getStackConfig from './StackConfig'; 9 10const Stack = createStackNavigator(); 11 12function ExpoApisStackNavigator(props: { navigation: BottomTabNavigationProp<any> }) { 13 return ( 14 <Stack.Navigator {...props} {...getStackConfig(props)}> 15 <Stack.Screen name="ExpoApis" options={{ title: 'APIs in Expo SDK' }} component={ExpoApis} /> 16 17 {Object.keys(Screens).map(name => ( 18 <Stack.Screen 19 name={name} 20 key={name} 21 component={Screens[name]} 22 options={(Screens[name] as any).navigationOptions ?? {}} 23 /> 24 ))} 25 </Stack.Navigator> 26 ); 27} 28const icon = ({ focused }: { focused: boolean }) => { 29 return <TabIcon name="code-tags" focused={focused} />; 30}; 31ExpoApisStackNavigator.navigationOptions = { 32 title: 'APIs', 33 tabBarLabel: 'APIs', 34 tabBarIcon: icon, 35 drawerIcon: icon, 36}; 37 38export default ExpoApisStackNavigator; 39