diff --git a/src/addNavigationHelpers.js b/src/addNavigationHelpers.js index d7c468bc52..f1042edcdb 100644 --- a/src/addNavigationHelpers.js +++ b/src/addNavigationHelpers.js @@ -13,6 +13,7 @@ import type { import NavigationActions from './NavigationActions'; export default function(navigation: NavigationProp) { + let debounce = true; return { ...navigation, goBack: (key?: ?string): boolean => @@ -25,14 +26,27 @@ export default function(navigation: NavigationProp) { routeName: string, params?: NavigationParams, action?: NavigationAction, - ): boolean => - navigation.dispatch( - NavigationActions.navigate({ - routeName, - params, - action, - }), - ), + ): boolean => { + if (debounce) { + debounce = false; + navigation.dispatch( + NavigationActions.navigate({ + routeName, + params, + action, + }), + ); + setTimeout( + () => { + debounce = true; + }, + 500, + ); + return true; + } + return false; + }, + /** * For updating current route params. For example the nav bar title and * buttons are based on the route params.