black claw hammer on brown wooden plank

Para que sirve un ListView.builder() en Flutter – Visualización de contenido dinámico

Un ListView sin la función builder, nos devolverá una lista de Widgets donde los childrens se han construido de forma permanente.

Cuando agregamos la función builder(), ListView mostrará los childrens bajo demanda. Es decir que cuando los Widgets no quepan en pantalla o no se muestren, serían destruidos. Y cuando hagamos scroll o sea necesario mostrarlos, se reconstruirían cada uno de los widgets según sea necesario.

Para algunos se tiene en cuenta que ListView.builder() se utiliza siempre dentro de un FutureBuilder, esto dependería si nuestra lista es tipo Future o si no esperamos recargar la lista con un SetState(){}.

Equivalencias

ListView.builder() es además un equivalente a lo que se usa en Java/Kotlin y Swift

AndroidiOS
RecyclerViewUICollectionView
Equivalencias de ListView.builder() en otras plataformas

Casos de uso

Listas extensas de contenido. En esto no me refiero a un texto que abarque bastantes líneas, sino que una lista de Widgets indefinidos (por encima de lo que cabe en una pantalla). Por ejemplo: Una lista de noticias, lista de productos de una tienda, lista de archivos, etc.

¿Qué se entiende por contenido dinámico?

A menos que una aplicación sea muy básica y esté creada con fines de aprendizaje, siempre utilizará datos dinámicos, es decir, el contenido de la pantalla cambiará según las acciones del usuario y / o con el cambio en los datos de la red.

Beneficios

  • Optimización del uso de memoria
  • Fluidez a la vista del usuario
  • Etc

Uso de ListView.builder()

Porfavor consulte el siguiente post, donde se explica con mayor detalle algunos ejemplos donde se da uso a Widgets con estado dentro de un ListView.


Publicado

en

, , ,

Comentarios

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *