Files
react-navigation/packages/bottom-tabs/src/navigators/createBottomTabNavigator.tsx
2019-12-11 17:44:21 +01:00

56 lines
1.2 KiB
TypeScript

import * as React from 'react';
import {
useNavigationBuilder,
createNavigatorFactory,
DefaultNavigatorOptions,
} from '@react-navigation/native';
import {
TabRouter,
TabRouterOptions,
TabNavigationState,
} from '@react-navigation/routers';
import BottomTabView from '../views/BottomTabView';
import {
BottomTabNavigationConfig,
BottomTabNavigationOptions,
BottomTabNavigationEventMap,
} from '../types';
type Props = DefaultNavigatorOptions<BottomTabNavigationOptions> &
TabRouterOptions &
BottomTabNavigationConfig;
function BottomTabNavigator({
initialRouteName,
backBehavior,
children,
screenOptions,
...rest
}: Props) {
const { state, descriptors, navigation } = useNavigationBuilder<
TabNavigationState,
TabRouterOptions,
BottomTabNavigationOptions,
BottomTabNavigationEventMap
>(TabRouter, {
initialRouteName,
backBehavior,
children,
screenOptions,
});
return (
<BottomTabView
{...rest}
state={state}
navigation={navigation}
descriptors={descriptors}
/>
);
}
export default createNavigatorFactory<
BottomTabNavigationOptions,
typeof BottomTabNavigator
>(BottomTabNavigator);