Зміст курсу
Опановуємо React
Опановуємо React
Вбудовані Стилі на Практиці
Створимо універсальний компонент Notification
, який відображає текст і динамічно змінює властивість background-color
на основі пропсу behavior
. Розглянемо реалізацію покроково.
Крок 1
Ми почнемо зі створення батьківського компонента, App
, разом з дочірнім компонентом, Notification
, використовуючи базову структуру React.
Крок 2
Щоб забезпечити стандартний стиль для компонента Notification
, ми створюємо об'єкт з назвою notificationStyles
і призначаємо йому наступні властивості:
padding
зі значенням "20px"
;
fontSize
зі значенням "24px"
;
color
зі значенням "aquamarine"
;
Присвоїмо об'єкту notificationStyles
значення атрибуту style
компонента Notification
, який буде застосовано до повернутого елемента p
.
Крок 3
У компоненті App
ми можемо використовувати компонент Notification
, передавши йому проп behavior
і проп text
. Проп behavior
визначає зовнішній вигляд сповіщення, в той час як проп text
визначає текст, який буде відображено в сповіщенні.
Крок 4
Ми можемо реалізувати логіку розфарбовування фону кожного повідомлення-сповіщення на основі пропсу behavior
наступним чином:
- Якщо значення
behavior
є"positive"
, колір фону має бути встановлений наgreen
. - Якщо значення
behavior
є"negative"
, колір фону слід встановитиred
. - Якщо значення
behavior
є"neutral"
, колір фону має бутиblue
.
Ми можемо створити функцію для обробки логіки за допомогою оператора switch
в JavaScript. Ось приклад того, як це можна реалізувати:
Ця функція приймає проп behavior
як аргумент і повертає відповідний колір фону на основі значення за допомогою оператора switch
. Проп behavior
поверне transparent
колір фону, якщо він не відповідає вказаним випадкам.
Давайте включимо цю функцію в об'єкт стилю компонента:
Ми використовуємо домовленості JavaScript, щоб забезпечити належну структуру об'єкта стилю. Спочатку ми поширюємо існуючий об'єкт notificationStyles
. Потім ми вводимо додаткову властивість backgroundColor
, значення якої отримується з рядка, що повертається функцією setBackgroundColor
.
Повний код програми:
Дякуємо за ваш відгук!