diff --git a/packages/react-navigation/CHANGELOG.md b/packages/react-navigation/CHANGELOG.md index 1be14f72..4d6f5237 100644 --- a/packages/react-navigation/CHANGELOG.md +++ b/packages/react-navigation/CHANGELOG.md @@ -7,6 +7,8 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. ## [Unreleased] +- Update `getParam` flow typings to check `key` and `fallback` arguments, as well as return the correct type automatically. + ## [2.17.0] - [2018-09-25](https://github.com/react-navigation/react-navigation/releases/tag/2.17.0) ### Changed diff --git a/packages/react-navigation/flow/react-navigation.js b/packages/react-navigation/flow/react-navigation.js index b3d5c3b7..193ce7e2 100644 --- a/packages/react-navigation/flow/react-navigation.js +++ b/packages/react-navigation/flow/react-navigation.js @@ -533,7 +533,16 @@ declare module 'react-navigation' { eventName: string, callback: NavigationEventCallback ) => NavigationEventSubscription, - getParam: (paramName: string, fallback?: any) => any, + getParam: ( + paramName: ParamName, + fallback?: $ElementType<$PropertyType<{| + ...{| params: {| [ParamName]: void |} |}, + ...$Exact, + |}, 'params'>, ParamName>, + ) => $ElementType<$PropertyType<{| + ...{| params: {| [ParamName]: void |} |}, + ...$Exact, + |}, 'params'>, ParamName>, dangerouslyGetParent: () => NavigationScreenProp<*>, isFocused: () => boolean, // Shared action creators that exist for all routers