From 644c9c4e1c2ca587275c061b0394ea4be45fdfc7 Mon Sep 17 00:00:00 2001 From: Dominic Gannaway Date: Fri, 2 Aug 2019 18:14:25 +0100 Subject: [PATCH] [Flare] useListener -> useResponder (#362) --- src/backend/ReactDebugHooks.js | 31 +++++++++++++++++-------------- src/backend/types.js | 5 +++++ 2 files changed, 22 insertions(+), 14 deletions(-) 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, +|};