From 94a484cff48cc620df26c5625bf6545361160fce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81rni=20Benedikt=20=C3=81rnason?= Date: Fri, 9 Mar 2018 17:20:33 +0100 Subject: [PATCH] Overloaded navigate method to handle new navigation options parameters --- types/react-navigation/index.d.ts | 16 +++++++++++----- .../react-navigation/react-navigation-tests.tsx | 8 ++++++++ 2 files changed, 19 insertions(+), 5 deletions(-) diff --git a/types/react-navigation/index.d.ts b/types/react-navigation/index.d.ts index 2fdde0448e..50f384c34e 100644 --- a/types/react-navigation/index.d.ts +++ b/types/react-navigation/index.d.ts @@ -420,12 +420,18 @@ export interface NavigationEventSubscription { export interface NavigationScreenProp { state: S; dispatch: NavigationDispatch; - goBack: (routeKey?: (string | null)) => boolean; - navigate: ( - routeName: string, + goBack: (routeKey?: string | null) => boolean; + navigate(options: { + routeName: string; + params?: NavigationParams; + action?: NavigationAction; + key?: string; + }): boolean; + navigate( + routeNameOrOptions: string, params?: NavigationParams, - action?: NavigationAction - ) => boolean; + action?: NavigationAction, + ): boolean; setParams: (newParams: NavigationParams) => boolean; addListener: ( eventName: string, diff --git a/types/react-navigation/react-navigation-tests.tsx b/types/react-navigation/react-navigation-tests.tsx index 0f68b653b1..2fcec1c53c 100644 --- a/types/react-navigation/react-navigation-tests.tsx +++ b/types/react-navigation/react-navigation-tests.tsx @@ -60,6 +60,7 @@ class StartScreen extends React.Component { return ( + ); } @@ -70,6 +71,13 @@ class StartScreen extends React.Component { }; this.props.navigation.navigate(ROUTE_NAME_NEXT_SCREEN, params); } + private readonly navigateDifferentlyToNextScreen = (): void => { + const params = { + id: this.props.navigation.state.params && this.props.navigation.state.params.id, + name: this.props.navigation.state.params && this.props.navigation.state.params.s, + }; + this.props.navigation.navigate({routeName: ROUTE_NAME_NEXT_SCREEN, params}); + } } const ROUTE_NAME_NEXT_SCREEN = "NextScreen";