From b58703728af79d2c3b19113597f601e934278a22 Mon Sep 17 00:00:00 2001 From: cliedeman Date: Wed, 14 Mar 2018 15:42:43 +0200 Subject: [PATCH] Added types for switch navigator --- types/react-navigation/index.d.ts | 14 ++++++++++ .../react-navigation-tests.tsx | 26 +++++++++++++++++++ 2 files changed, 40 insertions(+) diff --git a/types/react-navigation/index.d.ts b/types/react-navigation/index.d.ts index c4e396783f..a2dcdc937b 100644 --- a/types/react-navigation/index.d.ts +++ b/types/react-navigation/index.d.ts @@ -14,6 +14,7 @@ // Veit Lehmann: // Roberto Huertas: // Steven Miller +// Ciaran Liedeman // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.6 @@ -575,6 +576,19 @@ export function StackNavigator( stackConfig?: StackNavigatorConfig, ): NavigationContainer; +export interface SwitchNavigatorConfig { + initialRouteName: string; + resetOnBlur?: boolean; + paths?: NavigationPathsConfig; + backBehavior?: 'none' | 'intialRoute'; +} + +// Return createNavigationContainer +export function SwitchNavigator( + routeConfigMap: NavigationRouteConfigMap, + switchConfig?: SwitchNavigatorConfig +): NavigationContainer; + // DrawerItems export const DrawerItems: React.ReactType; diff --git a/types/react-navigation/react-navigation-tests.tsx b/types/react-navigation/react-navigation-tests.tsx index 017a9b9153..79ca619c00 100644 --- a/types/react-navigation/react-navigation-tests.tsx +++ b/types/react-navigation/react-navigation-tests.tsx @@ -24,6 +24,8 @@ import { NavigationTransitionProps, StackNavigator, StackNavigatorConfig, + SwitchNavigator, + SwitchNavigatorConfig, TabBarTop, TabNavigator, TabNavigatorConfig, @@ -219,6 +221,30 @@ function renderAdvancedStackNavigator(): JSX.Element { ); } +/** + * Switch navigator. + */ + +const switchNavigatorConfig: SwitchNavigatorConfig = { + initialRouteName: 'screen', + resetOnBlur: false, + backBehavior: 'none' +}; + +const BasicSwitchNavigator = SwitchNavigator( + routeConfigMap, + switchNavigatorConfig, +); + +function renderBasicSwitchNavigator(): JSX.Element { + return ( + { }} + style={viewStyle} + /> + ); +} + /** * Drawer navigator. */