tgoop.com/sWebDev/4041
Create:
Last Update:
Last Update:
Декларативная условная стилизация
Для условного применения inline-стилей в React часто создают объект стилей с помощью if
или тернарных операторов. Существует более лаконичный, декларативный подход с использованием spread-оператора (...
) и логического оператора &&
.
Механизм основан на том, что выражение условие && { стиль: 'значение' }
вернет либо объект стилей, если условие истинно, либо false
, если ложно. React при разворачивании (spread
) falsy-значений (таких как false
, null
или undefined
) внутри объекта просто игнорирует их, не добавляя никаких свойств.
import React from 'react';
function AlertMessage({ text, isActive, isUrgent }) {
const baseStyles = {
margin: '10px 0',
padding: '15px',
borderRadius: '4px',
transition: 'all 0.2s ease-in-out',
};
const finalStyles = {
...baseStyles,
...(isActive && { background: '#f0f0f0' }),
...(isUrgent && { background: '#ffdddd', border: '1px solid red' }),
};
return <div style={finalStyles}>{text}</div>;
}
👉 @sWebDev
BY Frontender Libs - обзор библиотек JS / CSS

Share with your friend now:
tgoop.com/sWebDev/4041