flatlist
El componente flatlist
es ideal para mostrar listas largas de datos de forma eficiente. Diseñado para manejar grandes volúmenes de datos, flatlist
renderiza solo los elementos visibles y algunos adicionales para optimizar el rendimiento de la aplicación. Esto lo convierte en una opción perfecta cuando necesitas mostrar listas de datos dinámicos, como productos, mensajes, o cualquier otro tipo de contenido que requiera desplazamiento.
Solo puede contener un único listitem
que se repetirá por cada valor del array de data.
Dentro del listitem
se podrá acceder a cada elemento del array por medio de la prop item
.
Props
data
El array de datos que se va a renderizar. Debe ser un array de JavaScript (JSON) convertido a String.
style
backgroundColor
: hexadecimal con el color de fondo.borderBottomColor
: hexadecimal con el color del border inferior.borderRadius
: indica el radio de los bordersborderBottomEndRadius
: indica el número de radio que se debe aplicar al borde inferiorborderBottomLeftRadius
: indica el número de radio que se debe aplicar al borde inferior izquierdoborderBottomRightRadius
: indica el número de radio que se debe aplicar al borde inferior derechoborderBottomWidth
: indica el tamaño del borde inferiorborderWidth
: indica el ancho del bordeborderColor
: indica el color del border en hexadecimalborderRightColor
: indica el color del borde derechoborderRightWidth
: indica el ancgi del borde derechoborderStyle
: indica el tipo de borde. enum(‘solid’, ‘dotted’, ‘dashed’)padding
: indica la distancia entre el borde del box y los elementos contenidos.paddingHorizontal
: indica la distancia horizontal del box y los elementos contenidos.paddingVertical
: indica la distancia vertical del box y los elementos contenidos.border
: indica la distancia entre el box y los elementos al rededormargin
: margen
key
Función para generar claves únicas para cada elemento.
horizontal
boolean que indica si la lista es horizontal
numColumns
el número de columnas a utilizar cuando la lista está con horizoltal="false"
Example
Hidratación desde el server
<screen> <meta> <header>Flatlist Example</header> </meta> <body> <box> <flatlist data="[{'id': '1', 'name': 'Goku', 'image': 'https://dragonball-api.com/characters/goku_normal.webp', 'ki': '60.000.000', 'Affiliation': 'Z Fighter'}]" key="id" > <listitem> <box shadow="16"> <image uri="{{item.image}}" /> <text>Nomre: {{item.name}}</text> <text>Base KI: {{item.ki}}</text> <text>Affiliation: {{item.Affiliation}}</text> </box> </listitem> </flatlist> </box> </body></screen>
Example
Hidratación desde frontend
<screen scroll="true" paddingHorizontal="16"> <meta> <header>Home</header> </meta> <body> <box style="padding:'10'; flexDirection:'row'; justifyContent:'space-between'"> <text>Hidratar desde frontend</text> <action > <virtuallist id="personajes" key="{{item.id}}"> <listitem> <box shadow="16"> <image uri="{{item.image}}" /> <text>{{item.name}}</text> <text>{{item.ki}}</text> <text>{{item.description}}</text> </box> </listitem> </virtuallist> </box> </body> <fetch uri="https://dragonball-api.com/api/characters" method="get" target="personajes" name="getCharacters" /></screen>