facebook / react-native

A framework for building native applications using React
https://reactnative.dev
MIT License
117.09k stars 24.07k forks source link

`Animated.View::onPanResponderMove` Stops Updating `Animated.Value` When Child Element Is Deleted #45126

Open kasperski95 opened 1 week ago

kasperski95 commented 1 week ago

Description

When a child element inside an Animated.View is deleted, the onPanResponderMove stops updating an Animated.Value, which stops the dragging animation. This issue doesn't exist on old architecture.

Steps to reproduce

  1. Clone the included reproducer.
  2. Install project dependencies with yarn.
  3. Run the application on Android.
  4. Drag element on the screen.
  5. Notice that dragging is interrupted on new architecture when a child element is removed.

React Native Version

0.74.2

Affected Platforms

Runtime - Android, Other (please specify)

Areas

Fabric - The New Renderer

Output of npx react-native info

System:
  OS: macOS 14.4.1
  CPU: (8) arm64 Apple M2
  Memory: 161.36 MB / 16.00 GB
  Shell:
    version: "5.9"
    path: /bin/zsh
Binaries:
  Node:
    version: 18.19.0
    path: ~/.asdf/installs/nodejs/18.19.0/bin/node
  Yarn:
    version: 3.6.4
    path: ~/.asdf/installs/nodejs/18.19.0/.npm/bin/yarn
  npm:
    version: 10.2.5
    path: ~/.asdf/plugins/nodejs/shims/npm
  Watchman:
    version: 2023.08.28.00
    path: /opt/homebrew/bin/watchman
Managers:
  CocoaPods:
    version: 1.13.0
    path: /usr/local/bin/pod
SDKs:
  iOS SDK:
    Platforms:
      - DriverKit 23.5
      - iOS 17.5
      - macOS 14.5
      - tvOS 17.5
      - visionOS 1.2
      - watchOS 10.5
  Android SDK:
    API Levels:
      - "33"
      - "34"
    Build Tools:
      - 30.0.3
      - 33.0.0
      - 34.0.0
    System Images:
      - android-33 | Android TV ARM 64 v8a
      - android-33 | Android TV Intel x86 Atom
      - android-33 | Google TV ARM 64 v8a
      - android-33 | Google TV Intel x86 Atom
      - android-33 | Google APIs ARM 64 v8a
      - android-33 | Google APIs Intel x86_64 Atom
      - android-33 | Google Play ARM 64 v8a
      - android-33 | Google Play Intel x86_64 Atom
    Android NDK: Not Found
IDEs:
  Android Studio: 2022.3 AI-223.8836.35.2231.10671973
  Xcode:
    version: 15.4/15F31d
    path: /usr/bin/xcodebuild
Languages:
  Java:
    version: 17.0.9
    path: /usr/bin/javac
  Ruby:
    version: 2.6.10
    path: /usr/bin/ruby
npmPackages:
  "@react-native-community/cli": Not Found
  react:
    installed: 18.2.0
    wanted: 18.2.0
  react-native:
    installed: 0.74.2
    wanted: 0.74.2
  react-native-macos: Not Found
npmGlobalPackages:
  "*react-native*": Not Found
Android:
  hermesEnabled: true
  newArchEnabled: true
iOS:
  hermesEnabled: Not found
  newArchEnabled: false

Stacktrace or Logs

This issue isn't a crash or failure.

Reproducer

https://github.com/kasperski95/repro-rn-na-pan-responder-issue

Screenshots and Videos

New Architecture

https://github.com/facebook/react-native/assets/9629577/8ba364f1-42cf-46b3-b08e-70f4ad42491a

Old Architecture (expected behavior)

https://github.com/facebook/react-native/assets/9629577/3d57d3c1-f0d0-4795-afd6-d4a13aac0f4e

cortinico commented 4 days ago

Thanks for reporting this @kasperski95

Just out of curiosity: have you experienced this isssue from using a library (if so, which one) or directly inside your app?