A framework for building native applications using React
Animated: Fix `onUserDrivenAnimationEnded` w/ Insertion Effects (#48678)
Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/48678 While diagnosing a recent issue in which `AnimatedValue` instances were not being correctly updated as expected, the insertion effects feature flag was identified as a root cause. Upon further investigation, it appears that this is because the `onUserDrivenAnimationEnded` listener was not implemented the same way in the two feature flag states: - When `useInsertionEffectsForAnimations` is disabled, `useAnimatedProps` listens to `onUserDrivenAnimationEnded` in a passive effect, after all nodes have been attached. - When `useInsertionEffectsForAnimations` is enabled, `useAnimatedProps` listens to `onUserDrivenAnimationEnded` in an insertion effect when attaching nodes. The bugs occurs because `useAnimatedProps` checks whether native driver is employed to decide whether to listen to `onUserDrivenAnimationEnded`. However, we do not know whether native driver will be employed during the insertion effect. (Actually, we do not necessarily know that in a passive effect, either... but that is a separate matter.) This fixes the bug when that occurs when `useInsertionEffectsForAnimations` is enabled, by moving the listening logic of `onUserDrivenAnimationEnded` into a passive effect. This is the same way that it is implemented when `useInsertionEffectsForAnimations` is disabled. Changelog: [Internal] Reviewed By: javache, sammy-SC Differential Revision: D68171721 fbshipit-source-id: 50b23348fd4641580581cacebc920959651f96a7
T
Tim Yung committed
00d272fb3b59289076b5a697f180d17310b44fe6
Parent: e7378f0
Committed by Facebook GitHub Bot <facebook-github-bot@users.noreply.github.com>
on 1/15/2025, 1:40:15 PM