callstack / callstack/react-native-pager-view

Page cannot be navigated to after being dynamically added

Offen
#949 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Vorherrschende Sprache
TypeScript
Sterne
3.4k
Forks
476
Ø Merge
10 T. 21 Std.
Gemergte PRs (30 T.)
2

Beschreibung

## Environment

- react-native-pager-view: 6.5.1
- react: 18.3.1
- react-native: 0.76.5
- expo: 52.0.18

## Description

A page cannot be navigated to after being dynamically added. See also the reproduction repository's README.

## Reproducible Demo

### Setup

1. Clone repository: https://github.com/winghouchan/react-native-pager-view-dynamic-page-mcve.
2. Install dependencies (`yarn`).
3. Build the app (`npx expo prebuild` && `yarn ios`).

### Reproduction

1. After opening the app, press "Add new page and navigate to it".

A new page should be added and navigated to. Instead, the new page is added (seen in the component tree in dev tools) but not navigated to.

## Additional notes

Doing either of the following seems to work around the issue:

- Wrapping `setPage` in `setTimeout(..., 0)`
- Disabling React Native's new architecture (see `working-example` branch, a rebuild is required before running).

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Beginne mit dem verlinkten Reproduktions-Repository und seiner README und verwende dabei die aufgeführten Einrichtungsschritte sowie die Aktion „Add new page and navigate to it“. Vergleiche das normale Verhalten mit dem Branch working-example und der Einstellung new-architecture; abgeschlossen ist die Aufgabe, wenn unter den gemeldeten Versionen ohne einen der beiden Workarounds zu einer dynamisch hinzugefügten Seite navigiert wird.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

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

Neue Issues direkt in Ihr Postfach

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