Componentes de React y cómo estilizarlos

Rate this content
Bookmark

Un análisis comparativo entre cuatro métodos de estilizar componentes de React, desde estilos en línea hasta Styled-Components. Esta charla es más adecuada para desarrolladores principiantes.

FAQ

Jemima enfrentó problemas como el anidamiento de componentes que causaba la sobrescritura de estilos, dificultades de diseño al intentar colocar un componente fijo en un contenedor flexible, y la complicación de nombrar componentes y subcomponentes adecuadamente.

Jemima ha probado varios métodos de estilización incluyendo estilo en línea, hojas de estilo CSS, CSS en JS, y ha mencionado también el uso de Tailwind y Style Components.

Jemima utiliza el estilo en línea principalmente para anular estilos existentes debido a su alta especificidad y para pasar propiedades dinámicas como props, siendo útil para establecer imágenes de fondo, por ejemplo.

Las hojas de estilo CSS son útiles para colocar estilos directamente con los elementos con los que se está trabajando, facilitando saber dónde hacer los cambios necesarios y manejar el estilo global.

Tailwind es un framework de CSS que utiliza utilidades predefinidas para estilos. Jemima lo encontró complicado de configurar y difícil de usar, ya que requería buscar constantemente propiedades específicas.

Los Style Components son plantillas literales que permiten integrar CSS dentro de JavaScript, ofreciendo beneficios como el acceso a pseudo selectores y la posibilidad de establecer estilos globales y temáticos, siendo muy útiles y poderosos para estilizar.

Jemima sugiere visitar su sitio web en jemimaabu.com/slides/styling-react, donde se pueden encontrar diapositivas y enlaces adicionales para obtener más información sobre los métodos de estilización en React.

Jemima Abu
Jemima Abu
8 min
17 Jun, 2021

Comments

Sign in or register to post your comment.

Video Summary and Transcription

Esta charla relámpago explora diferentes métodos de estilizar componentes de React, incluyendo estilos en línea, hojas de estilo CSS y CSS en JS. El orador destaca los beneficios de usar Style Components y Emotion, como el acceso a pseudo selectores, estilos globales y elementos temáticos. También se discute el concepto de polimorfismo en Style Components. El orador recomienda usar Style Components por su poder y accesibilidad. La elección del método de estilizado depende de la escala del proyecto y de la preferencia personal.

1. Styling React Components

Short description:

[♪ música tocando ♪ Hola a todos, soy Jemima y hoy voy a hablarles sobre el estilo de los componentes de React. Esta es una charla rápida, así que nos moveremos rápido. Básicamente, esta charla va a ser como uno de esos artículos de Buzzfeed que dicen 'Probé cinco métodos diferentes de estilo con React para que no tengas que hacerlo tú'. Así que estos son los métodos que he probado a lo largo del tiempo. Estilo en línea, hojas de estilo CSS y CSS en JS. Así que vamos a ver cada uno de ellos rápidamente y ver qué son. Los Style Components son, básicamente, como plantillas literales. Sabes, tienes tus propiedades CSS y las pasas como una plantilla literal. Son realmente geniales porque te brindan todos los beneficios del estilo en línea, pero también como los archivos CSS porque tienes acceso a los pseudo selectores, tienes acceso al estilo global, puedes establecer elementos temáticos, simplemente los Style Components son realmente útiles. Son realmente poderosos cuando se trata de estilizar. Y lo mismo ocurre con Emotion, la mayoría de las bibliotecas de CSS en JS admiten específicamente Style Components. Otra razón por la que me encantan los Style Components es porque realmente te ayudan con la accesibilidad. Muchas veces puedes definir los elementos utilizando la etiqueta semántica, como el nombre del elemento semántico, y se renderizará de manera semántica, lo cual es genial. Otra cosa realmente genial de los Style Components es esta cosa llamada polimorfismo, que es simplemente una forma elegante de hacer que un elemento se vea como otro elemento.

[♪ música tocando ♪] Hola a todos, soy Jemima y hoy voy a hablarles sobre el estilo de los componentes de React. Esta es una charla rápida, así que nos moveremos rápido. Básicamente, esta charla va a ser como uno de esos artículos de Buzzfeed que dicen 'Probé cinco métodos diferentes de estilo con React para que no tengas que hacerlo tú'. Básicamente, cuando comencé a trabajar con el estilo en los componentes de React, solía encontrarme con un montón de errores molestos, como anidar componentes en otro componente y luego el estilo se sobrescribe, o tener problemas de diseño al intentar colocar un componente fijo en un contenedor flexible y que no encaje en el flujo, o tener que empezar a descubrir cómo nombrar componentes y subcomponentes. O tener que ser muy específico al seleccionar tus elementos. Así que básicamente tenía todos estos problemas y buscaba un método de estilo que fuera fácil de usar y aprender porque era como cambiar de cómo se estiliza en HTML a cómo se estiliza en React, y necesitaba algo que fuera similar para mí, algo que me ayudara a mantener la estructura de archivos y la estructura del código, algo que fuera optimizado porque, por supuesto, el rendimiento es importante, y algo que pudiera ser utilizado en varios componentes y que fuera escalable. Así que estos son los métodos que he probado a lo largo del tiempo. Estilo en línea, hojas de estilo CSS y CSS en JS. Así que vamos a ver cada uno de ellos rápidamente y ver qué son. Para el estilo en línea, eso es simplemente poner el método de estilo en los elementos como un atributo. Lo uso principalmente para anular estilos existentes porque el estilo en línea tiene una especificidad muy alta, y para pasar propiedades como props, como cuando necesitas establecer una imagen de fondo como una prop, es realmente genial para eso. Con las hojas de estilo CSS, eso son tus archivos CSS, tus módulos CSS y tus preprocesadores, y las hojas de estilo de Tailwind, pero no era realmente CSS en JS, solo lo mantuve aquí. Vi a alguien en Twitter llamarlo CSS en HTML, lo cual creo que es muy acertado. Así que sí, así es como tienes tus archivos CSS regulares y luego puedes usarlos para, realmente me gustan los archivos CSS porque son muy útiles para colocar las hojas de estilo directamente con los elementos en los que estás trabajando, así que es genial para la colocación y es más fácil saber dónde hacer los cambios que necesitas. Para manejar el estilo global, simplemente puedes pasar un método global para seleccionar todos los elementos y pasarlos a tu app.js y es genial. Para el estilo anidado, si estás usando preprocesadores, puedes incluir los nombres de estilo en el anidamiento global del nombre del componente, y eso realmente evita todo el problema de sobrescritura con el que me encontraba antes. Así que eso es genial. Tailwind es algo con lo que comencé a trabajar recientemente y tal vez sea solo yo personalmente, pero no me gustó, porque me llevó dos días descubrir cómo configurarlo, pero lo incluí aquí por el bien de la intuición. Básicamente, Tailwind funciona con utilidades, las utilidades son como nombres de clase preexistentes que ya tienen todas estas propiedades, así que no tienes que definirlas, por ejemplo, py2 sería una propiedad de relleno superior e inferior de lo que definas que sea el 2, por ejemplo, podría ser un REM. Tailwind es realmente bueno si tienes un sistema de diseño en varios proyectos, por ejemplo, si trabajas con una empresa que utiliza el mismo sistema de diseño en varios proyectos, puedes definir todas esas propiedades como tu margen o tu relleno o tus colores en tu archivo Tailwind.config.js y puedes importarlo en varios proyectos y es genial. CSS en JS, cuando escuché por primera vez sobre CSS en JS pensé, ¿CSS y JavaScript? Eso es ridículo, y ahora pienso, ¿por qué no está todo en JavaScript? Esto es lo mejor que hay. Así que he trabajado con Style Components y Emotion, no he trabajado con JSS, pero lo incluí aquí porque pensé que el nombre era muy acertado porque CSS y JS. Los Style Components son, básicamente, como plantillas literales. Sabes, tienes tus propiedades CSS y las pasas como una plantilla literal. Son realmente geniales porque te brindan todos los beneficios del estilo en línea, pero también como los archivos CSS porque tienes acceso a los pseudo selectores, tienes acceso al estilo global, puedes establecer elementos temáticos, simplemente los Style Components son realmente útiles. Son realmente poderosos cuando se trata de estilizar. Y lo mismo ocurre con Emotion, la mayoría de las bibliotecas de CSS en JS admiten específicamente Style Components. Otra razón por la que me encantan los Style Components es porque realmente te ayudan con la accesibilidad. Muchas veces puedes definir los elementos utilizando la etiqueta semántica, como el nombre del elemento semántico, y se renderizará de manera semántica, lo cual es genial. Otra cosa realmente genial de los Style Components es esta cosa llamada polimorfismo, que es simplemente una forma elegante de hacer que un elemento se vea como otro elemento.

2. Métodos de Estilización en React

Short description:

Por ejemplo, puedes pasar un elemento div con estilo como un elemento de botón, lo que te permite reutilizar el estilo para enlaces y botones. En mi experiencia, los componentes de estilo son mi método favorito, pero tienen una curva de aprendizaje y requieren instalación. Tailwind, aunque no es mi preferencia, sigue siendo un buen framework. La elección del método depende del tamaño del proyecto y de las preferencias personales. Consulta las diapositivas y enlaces en mi sitio web para obtener más detalles. ¡Gracias por escuchar!

Una forma de hacer que un elemento se vea como otro elemento. Por ejemplo, aquí tengo un elemento div con estilo y un elemento de botón con estilo. Estoy pasando el elemento de botón a mi prop. Lo que va a suceder es que mis elementos, el elemento div con estilo, en realidad se renderizará como un elemento de botón. Esto es realmente útil cuando tienes, digamos, enlaces y botones que necesitan tener el mismo estilo, pero no quieres empezar a anular todo el estilo de los botones, puedes simplemente pasar el estilo de botón como enlace o pasar enlace como estilo de botón. Y el enlace se renderizará como un botón o el botón se renderizará como un enlace, dependiendo de cómo lo hayas configurado. Esta es una pequeña tabla que creé a partir de mi experiencia y mis preferencias. No estoy diciendo que este sea el mejor método en comparación con los demás. Es simplemente cómo los encontré. Según esta tabla, diría que mi método favorito es definitivamente los componentes de estilo, solo que fue un poco difícil para mí aprenderlo, ya sabes, tiene una curva de aprendizaje y no es muy fácil de configurar. Tienes que instalar muchas cosas. Tailwind fue mi menos favorito, no porque sea malo, sino porque simplemente no pude entenderlo. No pude descubrir cómo configurarlo. No pude descubrir cómo usarlo. Todavía tengo que buscar en Google cualquier propiedad que esté tratando de definir si estoy usando Tailwind. No conozco esas cosas de memoria. Pero sí, creo que sigue siendo un buen framework si eso es lo que te gusta. Por supuesto, cada uno de estos métodos se adapta a un tipo particular de proyecto. Si estás haciendo un proyecto a gran escala, es posible que desees usar componentes de estilo o archivos CSS porque puedes adjuntar varios archivos de esa manera. Si estás haciendo algo a pequeña escala, puedes quedarte con Tailwind, por ejemplo, porque de esa manera no necesitas empezar a pensar en nombres de clase y cosas así. Simplemente puedes pasar las utilidades. Así que todo depende de tus preferencias. Eso es todo. Como dije, una charla rápida para ustedes. Tengo diapositivas para esto. Estas son las diapositivas de la versión original de esta charla, que es mucho más larga e incluye puntos más específicos para cada método de estilización. Puedes verlas en mi sitio web jemimaabu.com/slides/styling-react. Así que puedes echarles un vistazo allí. También incluí algunos enlaces para obtener más información sobre los métodos de estilización en React, son realmente buenos y útiles, puedes consultarlos allí. Eso es todo por mi parte. Muchas gracias por escuchar. Si tienes alguna pregunta, creo que habrá una sesión de preguntas y respuestas con el presentador después de esto, o en mi caso, hay un espacio de asesoramiento, de cualquier manera, puedes contactarme allí. O puedes completar el formulario de contacto en mi sitio web jemimaabu.com, o enviarme un mensaje en Twitter o LinkedIn. Me encontrarás en línea en todas partes como jemimaabu. Gracias por escuchar y que disfrutes el resto de la charla. Adiós.

Check out more articles and videos

We constantly think of articles and videos that might spark Git people interest / skill us up or help building a stellar career

Composición vs Configuración: Cómo Construir Componentes Flexibles, Resilientes y a Prueba de Futuro
React Summit 2022React Summit 2022
17 min
Composición vs Configuración: Cómo Construir Componentes Flexibles, Resilientes y a Prueba de Futuro
Top Content
Existen muchas formas de autorizar componentes en React, y hacerlo correctamente puede no ser tan fácil, especialmente cuando los componentes se vuelven más complejos. En esta charla, aprenderás cómo construir componentes React a prueba de futuro. Cubriremos dos enfoques diferentes para construir componentes - Composición y Configuración, para construir el mismo componente utilizando ambos enfoques y explorar sus ventajas y desventajas.
El componente de React más caro del mundo y cómo dejar de escribirlo
React Advanced Conference 2021React Advanced Conference 2021
23 min
El componente de React más caro del mundo y cómo dejar de escribirlo
Top Content
Necesitamos dejar de construir componentes de React costosos, componentes que prometen el mundo pero son imposibles de mantener. Luchemos contra la apropcylpse y dejemos de lado nuestras perforaciones de prop con esta propuesta para una forma de trabajo más productiva en React.
Descubre si tu sistema de diseño es mejor que nada
React Summit 2022React Summit 2022
20 min
Descubre si tu sistema de diseño es mejor que nada
Construir un sistema de diseño no es suficiente. Tu equipo de desarrollo debe preferirlo sobre los componentes individuales y las bibliotecas de terceros. De lo contrario, todo el esfuerzo es una pérdida de tiempo. Aprende cómo utilizar el análisis de código estático para medir si tu sistema de diseño supera a la competencia interna y formas basadas en datos para mejorar tu posición.
Cómo lograr la composición de diseño en React
React Summit 2022React Summit 2022
8 min
Cómo lograr la composición de diseño en React
Usar CSS en esta era de componentes es difícil. Se han creado muchas herramientas para ayudarnos con este problema, pero todas fallan en el único problema que las herramientas nunca pueden resolver: ¿Qué componente debería encargarse de qué estilos? En esta charla, repasaremos estrategias sobre cómo construir diseños de manera componible.
CCTDD: Diseño impulsado por pruebas de componentes Cypress
TestJS Summit 2022TestJS Summit 2022
25 min
CCTDD: Diseño impulsado por pruebas de componentes Cypress
La primera parte de la charla se centrará en una variedad de patrones al usar las pruebas de componentes de Cypress y TDD para crear componentes de React. Los ejemplos de código serán del Tour of Heroes de Angular para que el contenido sea relevante para una comunidad más amplia. Actualmente estoy trabajando en un GitBook reescribiéndolo en React usando pruebas de componentes de Cypress, debería haber mucho contenido para destilar en la charla.La segunda parte de la charla se centrará en estrategias de prueba, tipos de pruebas y dónde aplicarlas, y finalmente compararlas y contrastarlas con los enfoques familiares de la industria.Terminaremos con las conclusiones clave, repositorios de aplicaciones de muestra para ayudar con el aprendizaje y estrategias de implementación.
Componentes Genéricos con TS y React
React Day Berlin 2022React Day Berlin 2022
10 min
Componentes Genéricos con TS y React
¿Qué es un componente genérico? ¿Cómo se escriben? ¿Cuándo se utilizan?

Workshops on related topic

Práctica con AG Grid's React Data Grid
React Summit 2022React Summit 2022
147 min
Práctica con AG Grid's React Data Grid
WorkshopFree
Sean Landsman
Sean Landsman
Comienza con AG Grid React Data Grid con un tutorial práctico del equipo principal que te guiará a través de los pasos para crear tu primera cuadrícula, incluyendo cómo configurar la cuadrícula con propiedades simples y componentes personalizados. La edición comunitaria de AG Grid es completamente gratuita para usar en aplicaciones comerciales, por lo que aprenderás una herramienta poderosa que puedes agregar de inmediato a tus proyectos. También descubrirás cómo cargar datos en la cuadrícula y diferentes formas de agregar representación personalizada a la cuadrícula. Al final del masterclass, habrás creado una cuadrícula de datos AG Grid React y la habrás personalizado con componentes funcionales de React.- Comenzando e instalando AG Grid- Configurando ordenamiento, filtrado, paginación- Cargando datos en la cuadrícula- La API de la cuadrícula- Usando hooks y componentes funcionales con AG Grid- Capacidades de la edición comunitaria gratuita de AG Grid- Personalizando la cuadrícula con componentes de React
Practica Técnicas de TypeScript Construyendo una Aplicación con Componentes de Servidor React
TypeScript Congress 2023TypeScript Congress 2023
131 min
Practica Técnicas de TypeScript Construyendo una Aplicación con Componentes de Servidor React
Workshop
Maurice de Beijer
Maurice de Beijer
En esta masterclass práctica, Maurice te guiará personalmente a través de una serie de ejercicios diseñados para empoderarte con una profunda comprensión de los Componentes de Servidor React y el poder de TypeScript. Descubre cómo optimizar tus aplicaciones, mejorar el rendimiento y desbloquear nuevas posibilidades.
 
Durante la masterclass, realizarás:
- Maximizar la mantenibilidad y escalabilidad del código con prácticas avanzadas de TypeScript
- Desatar los beneficios de rendimiento de los Componentes de Servidor React, superando enfoques tradicionales
- Potenciar tu TypeScript con el poder de los Tipos Mapeados
- Hacer tus tipos TypeScript más seguros con Tipos Opacos
- Explorar el poder de los Tipos de Plantillas Literales al usar Tipos Mapeados
 
Maurice estará virtualmente a tu lado, ofreciendo una guía completa y respondiendo a tus preguntas mientras navegas por cada ejercicio. Al final de la masterclass, habrás dominado los Componentes de Servidor React, armado con un nuevo arsenal de conocimientos de TypeScript para potenciar tus aplicaciones React.
 
No pierdas esta oportunidad de elevar tu experiencia en React a nuevas alturas. Únete a nuestra masterclass y desbloquea el potencial de los Componentes de Servidor React con TypeScript. Tus aplicaciones te lo agradecerán.
De la Idea a la Producción: Desarrollo de React con un Toque Visual
React Summit 2023React Summit 2023
31 min
De la Idea a la Producción: Desarrollo de React con un Toque Visual
WorkshopFree
Omer Kenet
Omer Kenet
Únete a nosotros para un masterclass de 3 horas que explora el mundo del desarrollo creativo de React utilizando Codux. Los participantes explorarán cómo un enfoque visual puede desbloquear la creatividad, agilizar los flujos de trabajo y mejorar la velocidad de desarrollo. Sumérgete en las características que hacen de Codux un cambio de juego para los desarrolladores de React. La sesión incluirá ejercicios prácticos que demuestran el poder de la renderización en tiempo real, la manipulación visual del código y el aislamiento de componentes, todo en tu código fuente.
Tabla de contenidos:- Descarga e instalación: Preparando Codux para el masterclass- Selector de proyectos: Clonación e instalación de un proyecto de demostración- Introducción a los conceptos principales de Codux y su interfaz de usuario- Ejercicio 1: Encontrando nuestro camino- Descanso- Ejercicio 2: Realizando cambios de manera efectiva- Ejercicio 3: Reutilización y validación de casos especiales- Resumen, Cierre y Preguntas y Respuestas
Curso intensivo de TypeScript para contenido de un CMS sin cabeza
React Summit 2022React Summit 2022
98 min
Curso intensivo de TypeScript para contenido de un CMS sin cabeza
WorkshopFree
Ondrej Polesny
Ondrej Polesny
En este masterclass, primero te mostraré cómo crear un nuevo proyecto en un CMS sin cabeza, llenarlo con datos y usar el contenido en tu proyecto. Luego, pasaremos el resto del tiempo en código, haremos lo siguiente:- Generar modelos y estructuras de tipo fuertemente tipados para el contenido obtenido.- Usar el contenido en componentes- Resolver contenido de campos de texto enriquecido en componentes de React- Tocar los pipelines de implementación y las posibilidades de descubrir problemas relacionados con el contenido antes de llegar a producción
Aprenderás:- Cómo trabajar con contenido de un CMS sin cabeza- Cómo se puede aprovechar el modelo de contenido para generar tipos en TypeScript y qué beneficios aporta a tu proyecto- Cómo dejar de usar literales de cadena para el contenido en el código- Cómo resolver texto enriquecido en componentes de React- Cómo minimizar o evitar problemas relacionados con el contenido antes de llegar a producción