From f26fe8c0a7950ebee023e30745203a33ef27deb8 Mon Sep 17 00:00:00 2001 From: Nicolas Gallagher Date: Mon, 9 Sep 2019 09:07:42 -0700 Subject: [PATCH] [react-events] Keyboard: fix callback return types (#16693) --- packages/react-events/src/dom/Keyboard.js | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/packages/react-events/src/dom/Keyboard.js b/packages/react-events/src/dom/Keyboard.js index 133ce4608a787..ad9bbde916ab9 100644 --- a/packages/react-events/src/dom/Keyboard.js +++ b/packages/react-events/src/dom/Keyboard.js @@ -20,8 +20,8 @@ type KeyboardEventType = 'keydown' | 'keyup'; type KeyboardProps = { disabled: boolean, - onKeyDown: (e: KeyboardEvent) => void, - onKeyUp: (e: KeyboardEvent) => void, + onKeyDown: (e: KeyboardEvent) => ?boolean, + onKeyUp: (e: KeyboardEvent) => ?boolean, preventKeys: Array, }; @@ -162,7 +162,7 @@ function createKeyboardEvent( function dispatchKeyboardEvent( event: ReactDOMResponderEvent, - listener: KeyboardEvent => void, + listener: KeyboardEvent => ?boolean, context: ReactDOMResponderContext, type: KeyboardEventType, defaultPrevented: boolean, @@ -209,9 +209,11 @@ const keyboardResponderImpl = { const config = ((preventKey[1]: any): Object); for (let s = 0; s < modifiers.length; s++) { const modifier = modifiers[s]; + const configModifier = config[modifier]; + const eventModifier = nativeEvent[modifier]; if ( - (config[modifier] && !nativeEvent[modifier]) || - (!config[modifier] && nativeEvent[modifier]) + (configModifier && !eventModifier) || + (!configModifier && eventModifier) ) { continue preventKeyLoop; }