/
githubmr
/
facebook-react-native
Обзор
Документация
Войти
/
githubmr
/
facebook-react-native
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
main
packages/react-native/Libraries/NativeAnimation/Nodes/RCTTrackingAnimatedNode.mm
47 строк
1 KB
generatedunixname89002005287564
Fix CQS signal readability-implicit-bool-conversion in xplat/js/react-native-github/packages (#53596)
04 сен 2025, 13:56
04 сен 2025, 13:56
95b187b
Код
Авторство
О чём код?
/* * Copyright (c) Meta Platforms, Inc. and affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ #import <React/RCTNativeAnimatedNodesManager.h> #import <React/RCTTrackingAnimatedNode.h> #import <React/RCTValueAnimatedNode.h> @implementation RCTTrackingAnimatedNode { NSNumber *_animationId; NSNumber *_toValueNodeTag; NSNumber *_valueNodeTag; NSMutableDictionary *_animationConfig; } - (instancetype)initWithTag:(NSNumber *)tag config:(NSDictionary<NSString *, id> *)config { if ((self = [super initWithTag:tag config:config]) != nullptr) { _animationId = config[@"animationId"]; _toValueNodeTag = config[@"toValue"]; _valueNodeTag = config[@"value"]; _animationConfig = [NSMutableDictionary dictionaryWithDictionary:config[@"animationConfig"]]; } return self; } - (void)onDetachedFromNode:(RCTAnimatedNode *)parent { [self.manager stopAnimation:_animationId]; [super onDetachedFromNode:parent]; } - (void)performUpdate { [super performUpdate]; // change animation config's "toValue" to reflect updated value of the parent node RCTValueAnimatedNode *node = (RCTValueAnimatedNode *)[self.parentNodes objectForKey:_toValueNodeTag]; _animationConfig[@"toValue"] = @(node.value); [self.manager startAnimatingNode:_animationId nodeTag:_valueNodeTag config:_animationConfig endCallback:nil]; } @end