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>