From 819c4221970205f7c7c5747289ab0b080d592459 Mon Sep 17 00:00:00 2001 From: Dmitry Rykun Date: Fri, 2 Feb 2024 04:19:49 -0800 Subject: [PATCH] RNTester: add legacy style event to MyNativeViewNativeComponent Summary: This diff adds a legacy style event to `MyNativeViewNativeComponent`. This is a way of defining events where you specify additional string type parameter in the EventHandler in the spec. This additional type parameter is an overridden top level event name, that can be completely unrelated to the event handler name. In this example it is `onLegacyStyleEvent` and `alternativeLegacyName`. More context here D16042065. Changelog: [Internal] Differential Revision: D53310318 --- .../ios/RNTMyNativeViewComponentView.mm | 7 +++++++ .../NativeComponentExample/js/MyNativeView.js | 13 ++++++++++++- .../js/MyNativeViewNativeComponent.js | 11 +++++++++++ .../react/uiapp/component/MyNativeView.kt | 16 ++++++++++++++++ .../react/uiapp/component/MyNativeViewManager.kt | 4 ++++ 5 files changed, 50 insertions(+), 1 deletion(-) diff --git a/packages/rn-tester/NativeComponentExample/ios/RNTMyNativeViewComponentView.mm b/packages/rn-tester/NativeComponentExample/ios/RNTMyNativeViewComponentView.mm index 2bb30a429db0..8744f6117f5e 100644 --- a/packages/rn-tester/NativeComponentExample/ios/RNTMyNativeViewComponentView.mm +++ b/packages/rn-tester/NativeComponentExample/ios/RNTMyNativeViewComponentView.mm @@ -124,6 +124,13 @@ - (void)callNativeMethodToRemoveOverlays [_view removeOverlays]; } +- (void)fireLagacyStyleEvent +{ + RNTMyNativeViewEventEmitter::OnLegacyStyleEvent value = {"Legacy Style Event Fired."}; + + std::static_pointer_cast(_eventEmitter)->onLegacyStyleEvent(value); +} + @end Class RNTMyNativeViewCls(void) diff --git a/packages/rn-tester/NativeComponentExample/js/MyNativeView.js b/packages/rn-tester/NativeComponentExample/js/MyNativeView.js index a6af3c2fbbba..5d992c04f4fd 100644 --- a/packages/rn-tester/NativeComponentExample/js/MyNativeView.js +++ b/packages/rn-tester/NativeComponentExample/js/MyNativeView.js @@ -119,6 +119,9 @@ export default function MyNativeView(props: {}): React.Node { console.log(event.nativeEvent.latLons); console.log(event.nativeEvent.multiArrays); }} + onLegacyStyleEvent={event => { + console.log(event.nativeEvent.string); + }} /> Legacy View - +