Loading
Fundamentos de React(14 Lecciones)
Ejercicio

Arrays en React

Una de las estructuras de datos más utilizada en cualquier aplicación web es el Array. Esta simple estructura es la forma más sencilla de contener y manipular colecciones de datos. Por esto, es importante conocer como trabajar con ella al momento de utilizar componentes React.

Una de las tareas más comunes relacionadas con arrays es la idea de renderizar una lista de elementos en la interfaz, esta lista de elementos está representada por un array.

Para poder renderizar una lista debemos iterar sobre ella y como ya revisamos en la lección sobre JSX, podemos utilizar interpolación para escribir código javascript válido en forma de una expresión que nos permita iterar sobre los elementos, en este caso usaremos Array.map .

Una expresión produce un valor y puede ser escrita en cualquier parte donde un valor sea esperado, por ejemplo como un argumento de una función.

Array.map permite iterar sobre un arreglo y retorna un nuevo arreglo, es decir retorna un valor. Este nuevo arreglo es el que será renderizado por React.

Un componente React acepta arreglos de valores o componentes en su prop children por lo que podemos transformar los elementos de arreglo en un nuevo componente o simplemente renderizar el arreglo directamente.

Una vez que tenemos el arreglo renderizado podemos ver que React nos avisa de un problema: Nos falta definir una prop llamad a key en nuestros compoenntes.

Esta prop debe recibir un valor único e invariable. Esto es simple de resolver en un caso donde el arreglo de datos utilizado es fijo y no cambia en el tiempo, podemos resolver este problema simplemente utilizando un valor como el indice del elemento en el arreglo. ¿Pero que ocurre si el arreglo de datos cambia en el tiempo?

La prop key le ayuda a React a mantener una forma de "rastrear" los elementos renderizados en cada proceso de actualización, si la prop no está presente React no podrá saber que elemento cambió y donde estaba y puede mezclar algunas cosas.

Un caso es que renderizas la lista y despues agregas un nuevo elemento. React no podrá identificar si el elemento que agregaste se debe ubicar al principio, final o en medio, esto es por que React no puede entender nuestras intenciones y solo ve que en un momento se le entrego una lista a renderizar, y luego se le pide renderizar una lista diferente. React intenta comparar el antes y después por lo que hará su mejor suposición y muchas veces esto funciona.

Pero las cosas se complican cuando alguno de los elementos del arreglo es un componente que contiene cierto estado React puede errar y complicar el resultado de tu UI.

Aquí estado puede ser tanto estado interno de un componente personalizado o incluso estado de un elemento HTML como un input.

Puedes profundizar más sobre como funciona la prop key revisando el siguiente artículo en Escuela Frontend: ¿Cómo funciona la prop key en React?

🐾 Primeros Pasos

En esta lección trabajaremos renderizando múltples elementos de forma “automática”. Para ello construiremos una lista de elementos basados en un arreglo de strings.

🎯 Objetivos

  • Conocer como renderizar múltiples elementos utilizando interpolación y Array.map
  • Comprender que hace la prop key y por que es necesaria.

🏋️‍♂️ Ejercicios

  1. Renderiza manualmente una lista de elementos.
  2. Utiliza Array.map para crear una lista de elementos basado en un arreglo de strings.
  3. Agrega la prop key faltante utilizando un valor único.

🍬 Crédito Extra

Transcripción

En esta octava lección revisaremos cómo trabajar con arreglos. Los arreglos son una de las estructuras de datos más utilizadas en cualquier aplicación web, ya que en la mayoría de las veces lo que hacemos es renderizar colecciones de datos.

La idea es renderizar una lista de elementos en la interfaz. Para poder usar una lista de elementos o un arreglo, lo que hacemos es iterar sobre ella y definir qué componentes se deben mostrar. Para eso, hacemos uso de los diferentes métodos de arreglos como Array.map que permiten iterar sobre un arreglo y retornar un nuevo arreglo, en este caso un arreglo de componentes JSX.

Un componente React acepta arreglos de valores o componentes en su prop children, como en este ejemplo.

Una vez que tenemos el arreglo renderizado podemos ver que hay un error, una especie de warning, que nos dice que falta la llamada prop key. Esta prop es una prop que React necesita para poder mantener una forma de rastrear los elementos renderizados en el proceso de actualización y es algo que necesita para el consolidado de los cambios que se hacen en la UI.

Puedes saber más de cómo funciona la prop key en este artículo que escribí para la Escuela Frontend, donde puedes profundizar y encontrar la explicación de cómo funciona y para que se necesita.

El objetivo de esta lección es conocer como renderizar múltiples elementos utilizando en este caso Array.map, y para eso tenemos tres ejercicios que revisaremos a continuación. También te dejamos un crédito extra, que básicamente se trata de revisar el demo del artículo e intentar reconocer que es lo que ocurre.