Jérémy Magrin
Développeur React Native Senior · Expo · iOS & Android
C'est le choix safe, celui que personne te reproche en review
Shopify derrière, des milliers d'apps en prod, tu coches la case et tu passes à autre chose
Sauf que le meilleur composant de liste que j'ai utilisé vient d'un mec quasi tout seul
Jay Meistrich, le gars derrière Legend State, croisé à App.js, adorable
Il sort Legend List, et sur mes écrans elle bat FlashList là où ça compte
Le pourquoi, Jay l'a bien expliqué en conf
FlashList recycle ses vues, et sur des listes à items de tailles variables ce recyclage coûte cher et demande des réglages
Legend List mesure la vraie taille de chaque item à la volée et déplace des conteneurs positionnés
Résultat en prod chez moi, moins de CPU et moins de mémoire au scroll
Et sur le web, la v3 change la donne
- un moteur de virtualisation DOM-natif en React DOM, là où FlashList sur le web repose sur react-native-web sans vrai maintien
- le maintien de la position de scroll est branché par défaut, fini l'écran qui saute quand une image charge en haut
- drop-in de FlatList et FlashList, tu changes l'import et tu testes
Je tourne dessus depuis plusieurs mois, zéro envie de revenir en arrière
On installe la lib de la grosse boîte pour être tranquille, et on rate la meilleure parce qu'elle vient d'un “inconnu”
Tu fais confiance au badge Shopify ou au meilleur code, toi
