Crear una vista de lista en React con TypeScript

Foto de Markus Winkler en Unsplash

Mostrar una lista de elementos es algo que los desarrolladores web hacen todo el tiempo. React no tiene una forma estándar de representar una lista de elementos, sin embargo, hay algunos patrones que es bueno conocer. Vamos a explorar algunos de ellos en este post.

Matriz de niños

Comencemos con el enfoque básico que debería funcionar en la mayoría de los casos, que consiste en pasar elementos de lista en childrenprop.

Uso React.Children.map , por lo que no tengo que preocuparme de si childrense trata de un solo elemento o de una serie de elementos. Tenga en cuenta que el ListViewcomponente es responsable de la estructura de la lista; en este ejemplo, afirma la disposición de las etiquetas uly semánticamente válida. liAsí es como puede verse un ejemplo de uso

¡Muy simple, muy legible! También puede usar este enfoque si no sabe la cantidad de elementos por adelantado.

Solo recuerda que cada vez que renderizas una lista que se puede reordenar o filtrar, debes proporcionar la clave (React te avisará si no lo haces).

Prop de renderizado

El segundo enfoque es más flexible pero también un poco más complejo. Estoy hablando del patrón de apoyo de renderizado . Así es como puede verse el código de la lista.

Tal vez haya notado que no es reutilizable ya que define explícitamente el Itemtipo. Podemos hacerlo mejor, usemos TypeScript Generics para que la lista no esté acoplada a la Iteminterfaz concreta.

Esto es mucho mejor, ahora funcionará con cualquier conjunto de elementos, siempre que todos los elementos satisfagan la AbstractIteminterfaz. Veamos cómo se puede usar esto.

Tenga en cuenta que TypeScript interesó correctamente el tipo de elemento en la rendererfunción.

Entonces, ¿por qué el patrón render prop es más poderoso? Tiene acceso a los datos de elementos sin procesar, no solo a los nodos de reacción como el enfoque anterior. Esto puede tener muchos casos de uso. Como ejemplo, puedo proporcionar un predicado que se usará para filtrar elementos antes de mostrarlos.

El cliente puede especificar cualquiera filterFnque acepte un solo elemento y devuelva un valor booleano.

En este ejemplo, solo se representarán los dos primeros elementos.

Resumen

Presenté algunos componentes básicos que se pueden ajustar para satisfacer necesidades más específicas. Espero que les sean útiles, ¡gracias por leer!

Suggested posts

Evitar las consecuencias devastadoras de un derrame cerebral: aprender del viaje de una familia.

Evitar las consecuencias devastadoras de un derrame cerebral: aprender del viaje de una familia.

Introducción Un accidente cerebrovascular es una emergencia médica que puede afectar a cualquier persona en cualquier momento. Ocurre cuando se interrumpe el flujo de sangre a una parte del cerebro, lo que lleva a una pérdida repentina de la función cerebral.

La revolución sin código: liberando la prosperidad empresarial con Webflow, Framer, Bubble.io,

La revolución sin código: liberando la prosperidad empresarial con Webflow, Framer, Bubble.io,

Embárcate en un emocionante viaje de innovación y éxito mientras aprovechas el potencial sin explotar de estas sorprendentes plataformas sin código. Permítame compartir con usted una historia sobre Sapna, una notable mujer empresaria.

Related posts

"La fosa de las Marianas revelada: revelando las aterradoras verdades ocultas del abismo"

"La fosa de las Marianas revelada: revelando las aterradoras verdades ocultas del abismo"

Introducción: Bienvenidos, valientes lectores, a un viaje que nos llevará a las profundidades más oscuras de nuestro planeta. En este blog, profundizamos en el enigmático mundo de la Fosa de las Marianas, descubriendo sus secretos ocultos y descubriendo las verdades escalofriantes que se encuentran debajo de su superficie.

Rastree a cualquiera con solo un número de teléfono | Investigación OSINT

Rastree a cualquiera con solo un número de teléfono | Investigación OSINT

Puede ser un investigador de OSINT, un jugador de CTF o simplemente alguien que recibe llamadas no deseadas. Alguien que está tratando de verificar el número que viste en un anuncio.

Por qué algunos freelancers están fingiendo sus vidas

Por qué algunos freelancers están fingiendo sus vidas

Hace poco estuve en Linkedin, la red social profesional más grande del mundo, y encontré publicaciones de diseñadores independientes a los que sigo que me llamaron la atención. Todos publicaron fotos desde aviones, en la playa con sus computadoras portátiles, desde piscinas y oficinas con vistas increíbles.

Financiamiento de la eliminación de carbono en el año fiscal 24

El desglose de las solicitudes de asignaciones de Carbon180 a través de vías

Financiamiento de la eliminación de carbono en el año fiscal 24

Por Alyson Lee, asesora de gestión de asuntos gubernamentales El proceso de asignaciones anuales del gobierno federal es fundamental para nuestros esfuerzos por financiar la eliminación de dióxido de carbono (CDR). Cada año, Carbon180 envía solicitudes a varias oficinas del Congreso para ayudar a guiar hacia dónde fluirán los dólares del próximo año.