How do I add a className to a div, based on either event.
Here's my code below.
I've tried:
className={isActive ? "active" : "", isClicked ? "clicked" : ""}
but this only works if the event is clicked.
this works when the event is hovered
className={isActive ? "active" : ""}
so does this when it's clicked
className={isClicked ? "clicked" : ""}
Just not together.
What am I doing wrong?
Here's my full code:
const [isActive, setIsActive] = useState(false);
const [isClicked, setIsClicked] = useState(false);
<MenuButton
onMouseEnter={() => setIsActive(!isActive)}
onMouseLeave={() => setIsActive(!isActive)}
onClick={() => setIsClicked(!isClicked)}
className={`${isActive ? "active" : ""} ${isClicked ? "clicked" : ""}`}
>
const MenuButton = styled.div`
background: #3498db;
&.clicked {
display: none;
}
&.active {
transform: scale(1.2, 1.2) translate3d(0, 0, 0);
}
`;
UPDATE: I have now included my events, states and how I am using them in my css