Расширенная стилизация компонентов в React

Предположим у нас есть React компонент Block и мы создали в нем стилизованные при помощи Styled Components компоненты Button и Container:

const Container = styled.div`
	display: flex;
	flex-direction: column;
	width: 150px;
`;

const Button = styled.input`
	background-color: orange;
	font-size: 18px;
	margin: 5px;
`;

А теперь представим, что нам нужен еще один компонент Button, только с белым текстом кнопки и зеленым фоном.

Для этого нам достаточно на базе нашего компонента Button создать новый компонент MdButton и прописать в нем только те свойства, которые мы хотим изменить:

const MdButton = styled(Button)`
	color: white;
	background-color: green;
`;

Расположим в Block все наши стилизованные компоненты:

function Block() {
	return (
		<Container>
			<Button>btn0</Button>
			<MdButton>btn1</MdButton>
		</Container>
	);
}

Создайте пустой React компонент Block1. С помощью Styled Components создайте в нем стилизованный див шириной и высотой в 150px, желтым фоном, и шириной границы 2px, назовите его DIVA.

На базе дива из предыдущей задачи создайте такой же див DIVB, только с зеленым фоном и шириной границы в 3px.

В Block1 создайте див Container. Разместите в нем два компонента DIVA и между ними один DIVB, созданные вами в предыдущих задачах к этому уроку.



Чат с GPT Компилятор