diff --git a/packages/react-native/ReactCxxPlatform/react/renderer/animated/AnimatedModule.cpp b/packages/react-native/ReactCxxPlatform/react/renderer/animated/AnimatedModule.cpp index 580acfe1a1d..f3f394239b9 100644 --- a/packages/react-native/ReactCxxPlatform/react/renderer/animated/AnimatedModule.cpp +++ b/packages/react-native/ReactCxxPlatform/react/renderer/animated/AnimatedModule.cpp @@ -79,20 +79,17 @@ void AnimatedModule::getValue( void AnimatedModule::startListeningToAnimatedNodeValue( jsi::Runtime& /*rt*/, Tag tag) { - addOperation([tag, weakThis = weak_from_this()]( - NativeAnimatedNodesManager& nodesManager) { + addOperation([tag, this](NativeAnimatedNodesManager& nodesManager) { nodesManager.startListeningToAnimatedNodeValue( - tag, [weakThis, tag](double value) { - if (auto strongThis = weakThis.lock()) { - strongThis->emitDeviceEvent( - "onAnimatedValueUpdate", - [tag, value](jsi::Runtime& rt, std::vector& args) { - auto arg = jsi::Object(rt); - arg.setProperty(rt, "tag", jsi::Value(tag)); - arg.setProperty(rt, "value", jsi::Value(value)); - args.emplace_back(rt, arg); - }); - } + tag, [this, tag](double value) { + emitDeviceEvent( + "onAnimatedValueUpdate", + [tag, value](jsi::Runtime& rt, std::vector& args) { + auto arg = jsi::Object(rt); + arg.setProperty(rt, "tag", jsi::Value(tag)); + arg.setProperty(rt, "value", jsi::Value(value)); + args.emplace_back(rt, arg); + }); }); }); } diff --git a/packages/react-native/ReactCxxPlatform/react/renderer/animated/AnimatedModule.h b/packages/react-native/ReactCxxPlatform/react/renderer/animated/AnimatedModule.h index 906c1e04145..ea179146297 100644 --- a/packages/react-native/ReactCxxPlatform/react/renderer/animated/AnimatedModule.h +++ b/packages/react-native/ReactCxxPlatform/react/renderer/animated/AnimatedModule.h @@ -18,7 +18,6 @@ namespace facebook::react { class AnimatedModule : public NativeAnimatedModuleCxxSpec, - public std::enable_shared_from_this, public TurboModuleWithJSIBindings { using Operation = std::function;