Adding onViewableItemsChanged to SectionList changes the items passed to each section's keyExtractor
Personne n'a encore pris cette issue.
- Langage dominant
- C++
- Étoiles
- 127k
- Forks
- 25.3k
- Merge moyen
- 1 j 23 h
- PR mergées (30 j)
- 4
Description
Description
We wrote a SectionList component where each section defines it's own keyExtractor. One of the sections uses a key from a nested object in each item in the section. It broke when we wanted to add visibility tracking to the section list, and it seems like the section objects are being run through the keyExtractor but only when onViewableItemsChanged prop is provided.
I expect that only items within each section should be run through the section's keyExtractor function, and that the behavior is consistent regardless of what props are provided.
Steps to reproduce
- Open expo snack linked below
- Run it on android or iOS device and observe it works
- Uncomment the
onViewableItemsChangedline from the SectionList and observe the break
React Native Version
0.75.3
Affected Platforms
Runtime - Android, Runtime - iOS
Output of npx react-native info
See expo snack for reproduction
Stacktrace or Logs
Cannot read property 'id' of undefined
Reproducer
https://snack.expo.dev/V1Ad0VTld860Zdt8n-qb7
Screenshots and Videos
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Piste de recherche
Commencez par l’Expo Snack lié et reproduisez l’échec sur Android ou iOS en activant et désactivant la prop onViewableItemsChanged de SectionList. Suivez la manière dont le suivi de la visibilité invoque section keyExtractor et vérifiez que seuls les éléments de chaque section lui sont transmis de manière cohérente, avec ou sans cette prop.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- react-native
- Domaine
- mobile
- Type d'issue
- Bug
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 42/100