dillon1000/react

Commit

Fabric HostComponent as EventEmitter: support add/removeEventListener (unstable only) (#23386)

* Implement addEventListener and removeEventListener on Fabric HostComponent

* add files

* re-add CustomEvent

* fix flow

* Need to get CustomEvent from an import since it won't exist on the global scope by default

* yarn prettier-all

* use a mangled name consistently to refer to imperatively registered event handlers

* yarn prettier-all

* fuzzy null check

* fix capture phase event listener logic

* early exit from getEventListeners more often

* make some optimizations to getEventListeners and the bridge plugin

* fix accumulateInto logic

* fix accumulateInto

* Simplifying getListeners at the expense of perf for the non-hot path

* feedback

* fix impl of getListeners to correctly remove function

* pass all args in to event listeners
Browse files
Changed paths10 files
First-parent comparison
M packages/react-native-renderer/src/ReactFabricEventEmitter.js ModifiedM packages/react-native-renderer/src/ReactFabricHostConfig.js ModifiedM packages/react-native-renderer/src/ReactNativeBridgeEventPlugin.js ModifiedM packages/react-native-renderer/src/ReactNativeEventEmitter.js ModifiedD packages/react-native-renderer/src/ReactNativeGetListener.js DeletedA packages/react-native-renderer/src/ReactNativeGetListeners.js AddedA packages/react-native-renderer/src/__mocks__/react-native/Libraries/ReactPrivate/CustomEvent.js AddedM packages/react-native-renderer/src/__mocks__/react-native/Libraries/ReactPrivate/ReactNativePrivateInterface.js ModifiedA packages/react-native-renderer/src/legacy-events/PropagationPhases.js AddedM scripts/flow/react-native-host-hooks.js Modified
Patch

Files changed

Rendering syntax-highlighted changes…