Skip to content

Commit 64e1921

Browse files
authored
Fix Flow type that event target can be null (#13124)
We pass null sometimes when the event target has disappeared. E.g. when touches fires on a deleted node.
1 parent bf32a3d commit 64e1921

File tree

6 files changed

+9
-9
lines changed

6 files changed

+9
-9
lines changed

packages/events/EventPluginHub.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -167,7 +167,7 @@ export function getListener(inst: Fiber, registrationName: string) {
167167
*/
168168
function extractEvents(
169169
topLevelType: TopLevelType,
170-
targetInst: Fiber,
170+
targetInst: null | Fiber,
171171
nativeEvent: AnyNativeEvent,
172172
nativeEventTarget: EventTarget,
173173
): Array<ReactSyntheticEvent> | ReactSyntheticEvent | null {
@@ -229,7 +229,7 @@ export function runEventsInBatch(
229229

230230
export function runExtractedEventsInBatch(
231231
topLevelType: TopLevelType,
232-
targetInst: Fiber,
232+
targetInst: null | Fiber,
233233
nativeEvent: AnyNativeEvent,
234234
nativeEventTarget: EventTarget,
235235
) {

packages/events/PluginModuleType.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ export type PluginModule<NativeEvent> = {
2424
eventTypes: EventTypes,
2525
extractEvents: (
2626
topLevelType: TopLevelType,
27-
targetInst: Fiber,
27+
targetInst: null | Fiber,
2828
nativeTarget: NativeEvent,
2929
nativeEventTarget: EventTarget,
3030
) => ?ReactSyntheticEvent,

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -212,7 +212,7 @@ const SimpleEventPlugin: PluginModule<MouseEvent> & {
212212

213213
extractEvents: function(
214214
topLevelType: TopLevelType,
215-
targetInst: Fiber,
215+
targetInst: null | Fiber,
216216
nativeEvent: MouseEvent,
217217
nativeEventTarget: EventTarget,
218218
): null | ReactSyntheticEvent {

packages/react-native-renderer/src/ReactFabricEventEmitter.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,11 @@ import type {TopLevelType} from 'events/TopLevelEventTypes';
1919
export {getListener, registrationNameModules as registrationNames};
2020

2121
export function dispatchEvent(
22-
target: Object,
22+
target: null | Object,
2323
topLevelType: TopLevelType,
2424
nativeEvent: AnyNativeEvent,
2525
) {
26-
const targetFiber = (target: Fiber);
26+
const targetFiber = (target: null | Fiber);
2727
batchedUpdates(function() {
2828
runExtractedEventsInBatch(
2929
topLevelType,

packages/react-native-renderer/src/ReactNativeBridgeEventPlugin.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ const ReactNativeBridgeEventPlugin = {
3131
*/
3232
extractEvents: function(
3333
topLevelType: TopLevelType,
34-
targetInst: Object,
34+
targetInst: null | Object,
3535
nativeEvent: AnyNativeEvent,
3636
nativeEventTarget: Object,
3737
): ?Object {

scripts/flow/react-native-host-hooks.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ declare module 'FabricUIManager' {
100100
viewName: string,
101101
rootTag: number,
102102
props: ?Object,
103-
instanceHandle: Object,
103+
eventTarget: Object,
104104
): Object;
105105
declare function cloneNode(node: Object, instanceHandle: Object): Object;
106106
declare function cloneNodeWithNewChildren(
@@ -124,7 +124,7 @@ declare module 'FabricUIManager' {
124124
declare function completeRoot(rootTag: number, childSet: Object): void;
125125
declare function registerEventHandler(
126126
callback: (
127-
instanceHandle: Object,
127+
eventTarget: null | Object,
128128
type: RNTopLevelEventType,
129129
payload: Object,
130130
) => void,

0 commit comments

Comments
 (0)