diff --git a/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/Binding.cpp b/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/Binding.cpp index d5fd9ca7fab..9b6215596cf 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/Binding.cpp +++ b/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/Binding.cpp @@ -564,6 +564,9 @@ void Binding::installFabricUIManager( disableVirtualNodePreallocation_ = reactNativeConfig_->getBool( "react_fabric:disable_virtual_node_preallocation"); + enableEarlyEventEmitterUpdate_ = reactNativeConfig_->getBool( + "react_fabric:enable_early_event_emitter_update"); + auto toolbox = SchedulerToolbox{}; toolbox.contextContainer = contextContainer; toolbox.componentRegistryFactory = componentsRegistry->buildRegistryFunction; @@ -1162,10 +1165,12 @@ void Binding::preallocateShadowView( } // Do not hold a reference to javaEventEmitter from the C++ side. - SharedEventEmitter eventEmitter = shadowView.eventEmitter; auto javaEventEmitter = EventEmitterWrapper::newObjectJavaArgs(); - EventEmitterWrapper *cEventEmitter = cthis(javaEventEmitter); - cEventEmitter->eventEmitter = eventEmitter; + if (enableEarlyEventEmitterUpdate_) { + SharedEventEmitter eventEmitter = shadowView.eventEmitter; + EventEmitterWrapper *cEventEmitter = cthis(javaEventEmitter); + cEventEmitter->eventEmitter = eventEmitter; + } local_ref props = castReadableMap( ReadableNativeMap::newObjectCxxArgs(shadowView.props->rawProps)); diff --git a/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/Binding.h b/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/Binding.h index 79b38d9bb2e..033e57700a3 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/Binding.h +++ b/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/Binding.h @@ -194,6 +194,7 @@ class Binding : public jni::HybridClass, bool disablePreallocateViews_{false}; bool disableVirtualNodePreallocation_{false}; bool enableFabricLogs_{false}; + bool enableEarlyEventEmitterUpdate_{false}; }; } // namespace react