ListView & GridView
ListView, ListView.builder, GridView, ScrollController, item reuse, lazy loading
1Quelle est la principale différence entre ListView() et ListView.builder() en Flutter ?
Quelle est la principale différence entre ListView() et ListView.builder() en Flutter ?
Réponse
ListView() crée tous ses enfants immédiatement, ce qui peut causer des problèmes de performance avec de longues listes. ListView.builder() utilise le lazy loading et ne crée les widgets qu'au moment où ils deviennent visibles à l'écran. Pour les listes avec beaucoup d'éléments, ListView.builder() est donc recommandé car il optimise la mémoire et les performances en recyclant les widgets hors écran.
2Quel paramètre de ListView.builder() est obligatoire pour spécifier le nombre d'éléments à afficher ?
Quel paramètre de ListView.builder() est obligatoire pour spécifier le nombre d'éléments à afficher ?
Réponse
Le paramètre itemCount indique à ListView.builder() combien d'éléments la liste contient. Sans ce paramètre, la liste serait considérée comme infinie et itemBuilder serait appelé indéfiniment. Définir itemCount permet au framework de savoir quand arrêter de construire des éléments et d'afficher correctement l'indicateur de scroll.
3Comment ajouter un séparateur entre chaque élément d'une ListView ?
Comment ajouter un séparateur entre chaque élément d'une ListView ?
Réponse
ListView.separated() est conçu spécifiquement pour afficher des séparateurs entre les éléments. Il prend un separatorBuilder en plus de itemBuilder, permettant de définir un widget personnalisé (comme un Divider) entre chaque élément. Cette approche est plus propre que d'ajouter manuellement des séparateurs dans itemBuilder.
Comment créer une ListView horizontale en Flutter ?
Quel est le rôle du paramètre shrinkWrap dans une ListView ?
+22 questions d'entretien
Autres sujets d'entretien Flutter
Les bases de Dart
Essentiels du langage Dart
Fondamentaux Flutter
Cycle de vie des Widgets
Stockage local Flutter
Cycle de vie de l'application
Layouts & Constraints
Navigation & Routing
State Management de base
Provider Pattern
Networking & HTTP
Sérialisation JSON
Base de données locale
Formulaires & Validation
Animations
Intégration Firebase
Tests unitaires
Tests de widgets
Build & Déploiement
Gestion des packages
Mémoire & Performance
Streams & RxDart
State Management avancé
Flutter Design Patterns
Optimisation des performances
Platform Channels
Custom Painting
Architecture d'application Flutter
Maîtrise Flutter pour ton prochain entretien
Accède à toutes les questions, flashcards, tests techniques, exercices de code review et simulateurs d'entretien.
Commencer gratuitement