Skip to content

Commit f26fe8c

Browse files
authored
[react-events] Keyboard: fix callback return types (#16693)
1 parent 9444c87 commit f26fe8c

File tree

1 file changed

+7
-5
lines changed

1 file changed

+7
-5
lines changed

packages/react-events/src/dom/Keyboard.js

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,8 @@ type KeyboardEventType = 'keydown' | 'keyup';
2020

2121
type KeyboardProps = {
2222
disabled: boolean,
23-
onKeyDown: (e: KeyboardEvent) => void,
24-
onKeyUp: (e: KeyboardEvent) => void,
23+
onKeyDown: (e: KeyboardEvent) => ?boolean,
24+
onKeyUp: (e: KeyboardEvent) => ?boolean,
2525
preventKeys: Array<string>,
2626
};
2727

@@ -162,7 +162,7 @@ function createKeyboardEvent(
162162

163163
function dispatchKeyboardEvent(
164164
event: ReactDOMResponderEvent,
165-
listener: KeyboardEvent => void,
165+
listener: KeyboardEvent => ?boolean,
166166
context: ReactDOMResponderContext,
167167
type: KeyboardEventType,
168168
defaultPrevented: boolean,
@@ -209,9 +209,11 @@ const keyboardResponderImpl = {
209209
const config = ((preventKey[1]: any): Object);
210210
for (let s = 0; s < modifiers.length; s++) {
211211
const modifier = modifiers[s];
212+
const configModifier = config[modifier];
213+
const eventModifier = nativeEvent[modifier];
212214
if (
213-
(config[modifier] && !nativeEvent[modifier]) ||
214-
(!config[modifier] && nativeEvent[modifier])
215+
(configModifier && !eventModifier) ||
216+
(!configModifier && eventModifier)
215217
) {
216218
continue preventKeyLoop;
217219
}

0 commit comments

Comments
 (0)