CSS Modules en React: Evitando colisiones en CSS

Published: 25 March 2019
on channel: Leo Medina - Javascript Developer
4,809
186

Problemas de colisión de estilos en un app moderna de react es un problema común que muchos programadores y desarrolladores tiene que aprender a arreglar. Afortunadamente CSS Modules es una solución que no requiere un cambio drástico en la forma en la que ya estas desarrollando tu app. Lo mejor de todo es que es fácil y rápido de configurar.

Si no sabes lo que son las colisiones de estilo en CSS, básicamente consisten en el fenómeno de sobre escribir estilos basados en los selectores de CSS que existen en toda tu app debido a que muchos selectores pueden afectar un solo elemento. Esto se conoce como estilos en cascada y es parte de CSS. Sin embargo no siempre es un efecto deseado. En ocasiones esto resulta por elegir el mismo nombre para una clase en diferentes partes de tu app. Pero gracias al poder de CSS Modules se puede mantener los nombres que originalmente causarían una colisión pero CSS Modules se encarga de resolver las colisiones. Esto lo hace al cambiar los nombres de las clases en los selectores de CSS por un nombre único que jamas tendrá una colisión. Adicionalmente utiliza Webpack para poder analizar y parsear los archivos de CSS originales y transformarlos en objetos que pueden ser utilizados como un mapa con el nombre de las clases de los selectores originales y resuelven al nombre único que no tiene colisiones. En pocas palabras una solución simple y elegante a un problema complejo.

En este vídeo explico que tan fácil es empezar a usar CSS Modules en una app de react. Funciona bien con apps creadas con create-react-app así como también con apps de react configuradas con Webpack manualmente. En ambos casos es cuestión de agregar una opción al css-loader llamada modules. En el caso de create-react-app ya esta pre configurada para utilizar CSS modules simplemente requiere cambiar el nombre del archivo a *.module.css.


On this page of the site you can watch the video online CSS Modules en React: Evitando colisiones en CSS with a duration of hours minute second in good quality, which was uploaded by the user Leo Medina - Javascript Developer 25 March 2019, share the link with friends and acquaintances, this video has already been watched 4,809 times on youtube and it was liked by 186 viewers. Enjoy your viewing!