У меня есть компонент navbar, который я создал с помощью Styled Components. Я хотел бы создать некоторые реквизиты, которые меняют цвет фона и / или цвет текста.
Например: <Navbar dark>
должен иметь следующий CSS:
background: #454545;
color: #fafafa;
Тогда как <Navbar light>
должно быть наоборот:
background: #fafafa;
color: #454545;
Если, однако, ни одна из опор не используется, то я хочу иметь заданный по умолчанию фон и цвет текста - скажем (для демонстрационных целей), что-то вроде этого:
background: #eee;
color: #333;
Теперь мой вопрос: как настроить это в Styled Components.
Я могу сделать следующее:
background: ${props => props.dark ? #454545 : '#eee'}
background: ${props => props.dark ? #fafafa : '#eee'}
background: #eee;
И что-то похожее на цвет.
Но это избыточно и не очень элегантно. Я хотел бы получить оператор if / else:
background: ${ props => {
if (props.dark) { #454545 }
elseif (props.light) { #fafafa }
else { #eee }
}
Но я не знаю, как настроить что-то подобное в Styled Components.
Есть предложения?
Заранее спасибо.