SectionList ListHeaderComponent gets rerendered when sections data changes
Nessuno ha ancora preso questa issue.
- Lingua principale
- C++
- Stelle
- 127k
- Fork
- 25.3k
- Merge medio
- 1g 23h
- PR unite (30g)
- 4
Descrizione
🐛 Bug Report
This is a duplicate of:
https://github.com/facebook/react-native/issues/16824
https://github.com/facebook/react-native/issues/16823
https://github.com/facebook/react-native/issues/14249
But since those 3 were closed and they are missing a reproducible example of the bug I'm reopening.
Description
If one uses a TextInput as a ListHeaderComponent when searching and when the returned sections are empty the TextInput loses focus.
If when searching the sections still have data - then the TextInput in the ListHeaderComponent doesn't lose focus.
To Reproduce
https://snack.expo.io/H12h3BgHV
Expected Behavior
I would expect for the TextInput not to lose focus
Code Example
https://snack.expo.io/H12h3BgHV
Environment
[skip envinfo]
RN 0.58
I've been trying to debug this with @pawelczerepak and what we noticed is that VirtualizedCellWrapper
https://github.com/facebook/react-native/blob/master/Libraries/Lists/VirtualizedList.js#L1759
gets unmounted and mounted when sections is an empty array. And when this happens everything inside of it gets unmounted and mounted again.
@sahrens - any ideas on what might be going on here?
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Direzione di ricerca
Riproduci la perdita del focus con l'esempio Snack, quindi esamina il codice di VirtualizedCellWrapper intorno alla riga 1759 di Libraries/Lists/VirtualizedList.js. Traccia il motivo per cui viene smontato e montato nuovamente quando sections diventa vuoto, e verifica che il TextInput in ListHeaderComponent rimanga focalizzato mentre i dati delle sezioni cambiano.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- react-native
- Ambito
- mobile
- Tipo di issue
- Bug
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Ferma
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 35/100