callstack / callstack/react-native-pager-view
Does not work within a ScrollView, bad performance when rendering multiple list components with real time data
- Lingua principale
- TypeScript
- Stelle
- 3.4k
- Fork
- 476
- Merge medio
- 10g 21h
- PR unite (30g)
- 2
Descrizione
## Environment
react-native @ 0.79.1
react-native-pager-view @ 6.7.1
## Description
Since @MrRefactor requested a new issue to be created (https://github.com/callstack/react-native-pager-view/issues/784), here it is. Compared to version `7.0.0.rc0`, the current implementation performs much worse, especially in the case of a pager with multiple list components that have many rows and real-time data updates within. Also, the ScrollView bug persists, we are still not able to scroll a ScrollView when a Pager is rendered inside of it unless we perform the scroll gesture outside of the pager. I don't understand why support for the ScrollView based implementation was dropped as it performed perfectly well and IMO it should replace the current one. Honestly, based on the many threads and reports about this bug, I feel like this issue is being neglected.
## Reproducible Demo
```
import React from 'react';
import { ScrollView, StyleSheet, View, Text } from 'react-native';
import PagerView from 'react-native-pager-view';
const MyPager = () => {
return (
First page
Second page
);
};
const styles = StyleSheet.create({
pagerView: {
flex: 1,
},
});
export default MyPager;
```
Guida per i contributori
Apri la guida per i contributori
Direzione di ricerca
Inizia con l’esempio riproducibile di MyPager nell’issue usando React Native 0.79.1 e react-native-pager-view 6.7.1. Analizza i casi di PagerView all’interno di ScrollView e di aggiornamento in tempo reale di più liste; il lavoro è completato quando lo ScrollView padre può scorrere se il gesto inizia sopra il pager e le prestazioni del rendering sono migliorate.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- react-native
- Ambito
- mobile, performance
- Tipo di issue
- Bug
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Ferma
- Chiarezza
- Da chiarire
- Idoneità per principianti
- 25/100