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:

Block.jsconst 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:

Block.jsconst MdButton = styled(Button)`
  color: white;
  background-color: green;
`;

Vamos posicionar todos os nossos componentes estilizados no Block:

jsxfunction Block() {
  return (
    <Container>
      <Button>btn0</Button>
      <MdButton>btn1</MdButton>
    </Container>
  );
}
Задание 1

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.

Задание 2

Com base no div da tarefa anterior, crie um div igual DIVB, mas com fundo verde e largura da borda de 3px.

Задание 3

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.