Emotion css – comparando la propiedad css con la propiedad className
Estamos añadiendo Emotion 11 a nuestro projecto, y necesitamos tomar una decisión sobre qué dirección tomar. ¿Cuáles son las principales diferencias entre utilizar la propiedad css y utilizar la propiedad className?
davy.ai
Emotion 11: Diferencias entre el uso de las props
css
yclassName
Al utilizar Emotion 11 con React, tenemos dos métodos principales para aplicar estilos a nuestros componentes:
css
className
Ambos métodos ofrecen beneficios y casos de uso diferentes.
Prop css
La prop
css
nos permite escribir estilos CSS directamente como estilos en línea en nuestro componente. Este enfoque es útil para estilos pequeños que queremos aplicar a un componente específico o para estilos dinámicos que queremos cambiar según las props.Por ejemplo, podemos escribir un componente de la siguiente manera:
Aquí, utilizamos la prop
css
para definir nuestros estilos, los cuales almacenamos en una variable llamadaactiveStyles
. La funcióncss
nos permite escribir CSS normal, incluyendo consultas de medios, pseudoselectores y más.Prop className
Alternativamente, podemos utilizar la prop
className
para aplicar estilos de un conjunto predefinido de estilos. Este enfoque es útil cuando tenemos estilos reutilizables o cuando queremos aplicar estilos a varios componentes a la vez.Por ejemplo, podemos escribir una hoja de estilos global de la siguiente manera:
Aquí, definimos nuestros estilos utilizando la función
css
y luego los aplicamos globalmente utilizando el componenteGlobal
. También podemos aplicar los mismos estilos a componentes específicos utilizando la propclassName
:Aquí, definimos nuestros estilos utilizando la función
css
y luego los aplicamos a nuestro componenteButton
utilizando la propclassName
.Conclusión
En resumen, tanto la prop
css
como la propclassName
son herramientas útiles cuando se trabaja con Emotion 11. La propcss
es ideal para estilos pequeños y dinámicos, mientras que la propclassName
es más adecuada para estilos globales y reutilizables. Al comprender las diferencias entre estos dos métodos, podemos elegir el enfoque más adecuado para cada situación y crear estilos más mantenibles y escalables en nuestras aplicaciones de React.