Estilizando nuestros componentes con styled-components
Clase 19 de 33 • Curso de Desarrollo de Aplicaciones Web con Gatsby JS
Contenido del curso
Preparando el entorno
Fundamentos de Gatsby
Creando la vista con React
Graphql en Gatsby
Usando plugins en Gatsby
Stripe checkout
Generando páginas programáticamente
- 24

Creando páginas en función de los datos
08:57 min - 25

Manejo de Gatsby Templates
13:39 min - 26

Terminando la Vista de Detalle de los Productos
05:58 min - 27

StaticQuery vs. useStaticQuery
03:23 min - 28

Construyendo el Carrito de Compras: useContext
08:18 min - 29

Construyendo el Carrito de Compras: Vista
09:22 min - 30

Construyendo el Carrito de Compras: Agregar productos al carrito
08:44 min - 31

Comprando productos
08:34 min
Gatsby a producción
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:
- Instalar
styled-components:
npm install --save styled-components
- Importar
styleddesdestyled-components:
import styled from 'styled-components';
- Crear un componente estilizado siguiendo la sintaxis de styled components (
styled.etiquetaDeHTML):
const Button = styled.button`
/* Estilos CSS para nuestro botón */
`;
- 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'};
`;
- 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')};
`;
- 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 */
}
`;
- Finalmente, podemos usar nuestros componentes estilizados como cualquier otro componente en React:
const IndexPage = props => (
{/* ... */}
<Button color="gray">¡Comprar!</Button>
{/* ... */}
);