【发布时间】:2025-11-23 05:30:02
【问题描述】:
在使用 react-router-dom 的 Navlink 的 activeStyle 属性时,如何将样式提取到变量中,这样我就不必在不使用 css 文件的情况下一遍又一遍地重复相同的样式?
理想情况下,我想用Emotion 来做这件事(而不只是做一个styled.Navlink),但如果这不可能,一个常规变量也可以。
我的文件如下所示:
import { NavLink, useRouteMatch } from 'react-router-dom';
import { css } from '@emotion/react';
const navLinkStyle = css({
color: blue,
});
const navLinkActiveStyle = { // also tried css({ ... })
color: 'red',
};
下面有这个元素:
<NavLink
to='/home'
// activeClassName='selected' // I imagine this is for pure css styling, not css-in-js.
css={navLinkStyle} // Emotion css prop
activeStyle={navLinkActiveStyle} // Does not seem to accept any variable (emotion's or regular)
>
Home
</NavLink>
【问题讨论】:
标签: css reactjs react-router react-router-dom emotion