react / react/react-native

Issue when displaying a modal after dismissing another modal

Offen
#48,611 35 Kommentare 17 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Component: Modal Needs: Triage :mag: Newer Patch Available
Vorherrschende Sprache
C++
Sterne
127k
Forks
25.3k
Ø Merge
1 T. 23 Std.
Gemergte PRs (30 T.)
4

Beschreibung

Description

Before RN 0.76.5, on iOS it was possible to show a modal and after dismissing it, showing another one.
Now, when doing the exact same thing on the old architecture the second modal is not showing up.
https://github.com/facebook/react-native/issues/47694
https://github.com/facebook/react-native/issues/48245
https://github.com/facebook/react-native/issues/48559

The error is not happening on new architecture

Steps to reproduce
  1. Create two different modals
  2. Show the first one by clicking on a button
  3. Then, create a button that will dismiss the first modal and display the second one
  4. The second one won't show up
React Native Version

0.76.5

Affected Platforms

Runtime - iOS

Output of npx react-native info
System:
  OS: macOS 15.2
  CPU: (10) arm64 Apple M1 Max
  Memory: 482.95 MB / 32.00 GB
  Shell:
    version: "5.9"
    path: /bin/zsh
Binaries:
  Node:
    version: 22.12.0
    path: ~/.nvm/versions/node/v22.12.0/bin/node
  Yarn: Not Found
  npm:
    version: 8.19.4
    path: ~/code/yonitou/hygo/node_modules/.bin/npm
  Watchman: Not Found
Managers:
  CocoaPods:
    version: 1.11.2
    path: /Users/yonitouboul/.rbenv/shims/pod
SDKs:
  iOS SDK:
    Platforms:
      - DriverKit 24.2
      - iOS 18.2
      - macOS 15.2
      - tvOS 18.2
      - visionOS 2.2
      - watchOS 11.2
  Android SDK: Not Found
IDEs:
  Android Studio: 2024.1 AI-241.18034.62.2411.12071903
  Xcode:
    version: 16.2/16C5032a
    path: /usr/bin/xcodebuild
Languages:
  Java:
    version: 17.0.1
    path: /usr/bin/javac
  Ruby:
    version: 2.7.4
    path: /Users/yonitouboul/.rbenv/shims/ruby
npmPackages:
  "@react-native-community/cli": Not Found
  react: Not Found
  react-native: Not Found
  react-native-macos: Not Found
npmGlobalPackages:
  "*react-native*": Not Found
Android:
  hermesEnabled: Not found
  newArchEnabled: Not found
iOS:
  hermesEnabled: Not found
  newArchEnabled: Not found


### Stacktrace or Logs

```text
No errors logs
Reproducer

https://github.com/yonitou/modal-bug

Screenshots and Videos

When I click on the button "Close modal", it should dismiss the red one and show the blue one but the blue one never shows.
You will notice that if enabling new architecture, the problem disappears
https://github.com/user-attachments/assets/72aca692-d90d-40f7-b500-ef574ae26658

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Starte damit, den verknüpften yonitou/modal-bug-Reproduzierer mit der alten und der neuen Architektur auszuführen und dabei die Schritte zum Schließen der beiden Modals zu befolgen. Verfolge anschließend den React Native iOS-Lebenszyklus der Modal-Präsentation und -Schließung, um zu ermitteln, an welcher Stelle das zweite Modal verloren geht. Als erledigt gilt die Aufgabe, wenn das zweite Modal unter iOS mit der alten Architektur nach dem Schließen des ersten angezeigt wird, ohne eine Regression in der neuen Architektur zu verursachen.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
ios, react-native
Bereich
mobile
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Ruhig
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
45/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.