【发布时间】:2021-09-28 19:58:48
【问题描述】:
我试图让我的图标在点击时改变颜色,我设法用 useState 做到了这一点。但是现在,我似乎无法取消单击或取消以前按下的图标的颜色。我读到这与设置一个状态有关,该状态显示哪个图标处于活动状态,哪个图标不处于活动状态。如果有人知道如何解决这个问题,我将非常感谢任何帮助。这是我目前的代码,以防万一。
const Submenu: FC<SidebarLinkProps> = ({ item }) => {
const [subnav, setSubnav] = useState(false);
const showSubnav = () => setSubnav(!subnav);
const [changeColor, setChangeColor] = useState('white');
const [activeColor, setActiveColor] = useState(0)
const IconOuter = styled.span`
background-color: ${ changeColor };
border-radius: 5px;
padding: 10px;
width: 44px;
height: 44px;
left: 8px;
top: 8px;
`;
return (
<>
<SidebarLink to={item.path} onClick={showSubnav}>
<IconOuter onClick={() => setChangeColor('#1F4782')}>
{item.icon}
</IconOuter>
</SidebarLink>
</>
);
};
export default Submenu;
【问题讨论】:
标签: reactjs icons setstate use-state