В настоящее время я оформляю активные навигационные ссылки, используя компоненты Gatsby Link, библиотеку Styled-Components и объект activeStyle.
Здесь Gatsby docs Я ссылаюсь.
У меня проблема с css-свойствами, такими как background: "red"
или border: "2px solid green"
работа, но когда я использую border-bottom: 2px solid green
или background-color: "red"
, я получаю сообщение об ошибке.
SyntaxError: Unexpected token, expected "," (78:8)
76
77 const activeStyles = {
78 border-bottom: "2px solid orange",
^
79 };
80
Я использую Gatsby2.7.1 и Styled-компоненты 4.2.0.До этого момента у меня не было проблем с Gatsby или Styled-компонентами.Я попытался поместить объект непосредственно в компонент Link, но та же проблема возникает.
<Link to="/" activeStyle={{ border-bottom: "2px solid orange"}}>
Home
</Link>
В настоящее время я делаю это
<StyledNavLink to="/" activeStyle={activeStyles}>
Home
</StyledNavLink>
// Styled Component
const StyledNavLink = styled(props => <Link {...props} />)`
font-size: 18px;
width: 100%;
color: white;
text-decoration: none;
text-transform: uppercase;
display: flex;
align-items: center;
padding: 0 24px;
`;
// Style Object passed to Gatsby Link Component
const activeStyles = {
border-bottom: "2px solid orange", // Does not work
border: "2px solid orange" // This does work
};
Я ожидаю использовать все свойства CSSно может использовать только CSS-свойства, состоящие из одного слова.
Я не думаю, что это проблема стилевого компонента.
Чего мне не хватает?