Estilizando nuestros componentes con styled-components

Clase 19 de 33Curso de Desarrollo de Aplicaciones Web con Gatsby JS

Resumen

Styled Components es una herramienta que nos ayuda a usar lo mejor de CSS en JavaScript y React.

Para usar esta herramienta solo debes seguir los siguientes pasos:

  1. Instalar styled-components:
npm install --save styled-components
  1. Importar styled desde styled-components:
import styled from 'styled-components';
  1. Crear un componente estilizado siguiendo la sintaxis de styled components (styled.etiquetaDeHTML):
const Button = styled.button` /* Estilos CSS para nuestro botón */ `;
  1. Podemos configurar las propiedades de CSS usando las props de todos nuestros componentes en React:
const Button = styled.button` /* Estilos CSS para nuestro botón */ color: ${props => props.color || 'black'}; `;
  1. También podemos escribir los estilos usando variables o funciones de JavaScript:
const colors = { green: '#98ca3f', orange: '#f8b7c1', }; function GetColor(color) { return colors[color]; } const Button = styled.button` /* Estilos CSS para nuestro botón */ color: ${colors.green}; background-color: ${GetColor('green')}; `;
  1. También podemos configurar estilos con selectores anidados:
const Button = styled.button` /* Estilos CSS para nuestro botón */ color: ${props => props.color || 'black'}; &:hover { /* Estilos CSS para nuestro botón cuando hacemos hover */ } `;
  1. Finalmente, podemos usar nuestros componentes estilizados como cualquier otro componente en React:
const IndexPage = props => ( {/* ... */} <Button color="gray">¡Comprar!</Button> {/* ... */} );
      Estilizando nuestros componentes con styled-components