[英]Trying to apply a class to a styled-component for an onclick event
在使用标准 JSX 和 CSS 时,我可以添加一个带有一些逻辑的 className 属性,以基于 boolean 值添加一个 class 名称,但是当使用 styled-components 时,这似乎并不容易, 这就是我目前所拥有的:
菜单.tsx
interface IMenuProps {
showMenu: boolean;
menuToggle: () => void;
}
const Menu: React.FC<IMenuProps> = ({ showMenu, menuToggle }) => {
return (
<MenuWrapper onClick={menuToggle} {showMenu ? "showMenu" : ""}>
...
目前,三元语句中的showMenu
下方有一条红线。
'...' expected.
希望你能看到我在这里尝试做的事情。
您忘记添加类名。
const Menu: React.FC<IMenuProps> = ({ showMenu, menuToggle }) => { return ( <MenuWrapper onClick={menuToggle} className={showMenu? "showMenu": ""}>
顺便提一句:
如果您的组件内没有任何逻辑,您可以将其编写为
const Example: FC = () => ( <div> <h1>Example</h1> </div> );
您是否为样式化的 MenuWrapper 编写了类型? 如果没有,请尝试以下操作:
const MenuWrapper = styled.div<{showMenu?:boolean}>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.