Я хотел бы передать опору вложенному стилю для элемента абзаца, но похоже, что я не могу поставить опору непосредственно на элемент. Как мне этого добиться? Я хочу применить преобразование верхнего регистра только к одному из элементов p ...
const MailingListWrapper = styled.div`
display: flex;
& > p {
text-transform: ${props => props.uppercase || 'none'};
}
`
function JoinUs() {
return (
<MailingListWrapper>
<p uppercase = "uppercase">Join our mailing list!</p>
<p>Never miss an update</p>
</MailingListWrapper>
)
}





props, к которому у вас есть доступ в строке шаблона, используемой при создании компонента MailingListWrapper, - это реквизиты, предоставляемые MailingListWrapper, когда вы его используете.
Вместо этого вы можете присвоить тегу puppercaseclassName и просто применить стили к тегам p с помощью класса uppercase.
const MailingListWrapper = styled.div`
display: flex;
& > p.uppercase {
text-transform: uppercase;
}
`;
function JoinUs() {
return (
<MailingListWrapper>
<p className = "uppercase">Join our mailing list!</p>
<p>Never miss an update</p>
</MailingListWrapper>
);
}
Помещая здесь окончательный результат для потомков на основе ответа Толле ...
const MailingListWrapper = styled.div`
display: flex;
& > p {
color: gold;
&.uppercase {
text-transform: uppercase;
}
}
`
В этом случае мне пришлось бы создать два стиля, по одному для каждого элемента p? Если я хочу, чтобы у них обоих был цвет: золотой, как мне этим поделиться? :)