diff --git a/packages/react-reconciler/src/ReactFiberCommitWork.js b/packages/react-reconciler/src/ReactFiberCommitWork.js index a1a1be7bfc165..98df81c81391d 100644 --- a/packages/react-reconciler/src/ReactFiberCommitWork.js +++ b/packages/react-reconciler/src/ReactFiberCommitWork.js @@ -1352,7 +1352,7 @@ function commitWork(current: Fiber | null, finishedWork: Fiber): void { if (enableFlareAPI) { const prevListeners = oldProps.DEPRECATED_flareListeners; const nextListeners = newProps.DEPRECATED_flareListeners; - if (prevListeners !== nextListeners) { + if (prevListeners !== nextListeners || current === null) { updateLegacyEventListeners(nextListeners, finishedWork, null); } } @@ -1417,7 +1417,7 @@ function commitWork(current: Fiber | null, finishedWork: Fiber): void { const oldProps = current !== null ? current.memoizedProps : newProps; const prevListeners = oldProps.DEPRECATED_flareListeners; const nextListeners = newProps.DEPRECATED_flareListeners; - if (prevListeners !== nextListeners) { + if (prevListeners !== nextListeners || current === null) { updateLegacyEventListeners(nextListeners, finishedWork, null); } } diff --git a/packages/react-reconciler/src/ReactFiberCompleteWork.js b/packages/react-reconciler/src/ReactFiberCompleteWork.js index a610391b5f9e9..0b12f3cc7f15e 100644 --- a/packages/react-reconciler/src/ReactFiberCompleteWork.js +++ b/packages/react-reconciler/src/ReactFiberCompleteWork.js @@ -128,7 +128,6 @@ import { import {createFundamentalStateInstance} from './ReactFiberFundamental'; import {Never} from './ReactFiberExpirationTime'; import {resetChildFibers} from './ReactChildFiber'; -import {updateLegacyEventListeners} from './ReactFiberEvents'; import {createScopeMethods} from './ReactFiberScope'; function markUpdate(workInProgress: Fiber) { @@ -730,11 +729,7 @@ function completeWork( if (enableFlareAPI) { const listeners = newProps.DEPRECATED_flareListeners; if (listeners != null) { - updateLegacyEventListeners( - listeners, - workInProgress, - rootContainerInstance, - ); + markUpdate(workInProgress); } } } else { @@ -754,11 +749,7 @@ function completeWork( if (enableFlareAPI) { const listeners = newProps.DEPRECATED_flareListeners; if (listeners != null) { - updateLegacyEventListeners( - listeners, - workInProgress, - rootContainerInstance, - ); + markUpdate(workInProgress); } } @@ -1264,12 +1255,7 @@ function completeWork( if (enableFlareAPI) { const listeners = newProps.DEPRECATED_flareListeners; if (listeners != null) { - const rootContainerInstance = getRootHostContainer(); - updateLegacyEventListeners( - listeners, - workInProgress, - rootContainerInstance, - ); + markUpdate(workInProgress); } } if (workInProgress.ref !== null) {