diff --git a/src/backend/ReactDebugHooks.js b/src/backend/ReactDebugHooks.js index 01734c840a..6baaa25300 100644 --- a/src/backend/ReactDebugHooks.js +++ b/src/backend/ReactDebugHooks.js @@ -8,7 +8,11 @@ import ErrorStackParser from 'error-stack-parser'; -import type { ReactContext, ReactEventResponder } from './types'; +import type { + ReactContext, + ReactEventResponder, + ReactEventResponderListener, +} from './types'; type Fiber = any; type Hook = any; @@ -30,8 +34,6 @@ type HookLogEntry = { value: mixed, }; -const emptyObject = {}; - let hookLog: Array = []; // Primitives @@ -216,19 +218,20 @@ function useMemo( return value; } -function useListener( +function useResponder( responder: ReactEventResponder, - hookProps: ?Object -): void { + listenerProps: Object +): ReactEventResponderListener { + // Don't put the actual event responder object in, just its displayName const value = { - responder: responder.displayName || 'EventComponent', - props: hookProps || emptyObject, + responder: responder.displayName || 'EventResponder', + props: listenerProps, + }; + hookLog.push({ primitive: 'Responder', stackError: new Error(), value }); + return { + responder, + props: listenerProps, }; - hookLog.push({ - primitive: 'Listener', - stackError: new Error(), - value, - }); } const Dispatcher = { @@ -243,7 +246,7 @@ const Dispatcher = { useReducer, useRef, useState, - useListener, + useResponder, }; // Inspect diff --git a/src/backend/types.js b/src/backend/types.js index c0a2722950..9ff374cdc4 100644 --- a/src/backend/types.js +++ b/src/backend/types.js @@ -371,3 +371,8 @@ export type ReactEventResponder = { | null | ((context: C, props: Object, state: Object) => void), }; + +export type ReactEventResponderListener = {| + props: Object, + responder: ReactEventResponder, +|};