Estilização Avançada de Componentes no React
Suponha que temos um componente React
Block e criamos dentro dele componentes estilizados
usando Styled Components chamados
Button e Container:
const Container = styled.div`
display: flex;
flex-direction: column;
width: 150px;
`;
const Button = styled.input`
background-color: orange;
font-size: 18px;
margin: 5px;
`;
E agora imagine que precisamos de outro
componente Button, mas com
texto branco e fundo verde.
Para isso, podemos simplesmente criar um novo
componente MdButton baseado no nosso
componente Button e especificar nele
apenas as propriedades que queremos alterar:
const MdButton = styled(Button)`
color: white;
background-color: green;
`;
Vamos posicionar todos os nossos
componentes estilizados no Block:
function Block() {
return (
<Container>
<Button>btn0</Button>
<MdButton>btn1</MdButton>
</Container>
);
}
Crie um componente React vazio Block1.
Usando Styled Components, crie
nele um div estilizado com largura e altura
de 150px, fundo amarelo,
e largura da borda de 2px,
chame-o de DIVA.
Com base no div da tarefa anterior, crie
um div igual DIVB, mas com fundo
verde e largura da borda de 3px.
No Block1 crie um div Container.
Posicione dentro dele dois componentes DIVA
e entre eles um DIVB, criados por você
nas tarefas anteriores desta lição.