【发布时间】:2021-06-22 04:12:42
【问题描述】:
我缩短了代码,但逻辑是一样的。
问题是:
当我将鼠标悬停在“主页”上时,“服务”的状态也会激活,并且它们都会打开下拉菜单。我只想这样:当我将鼠标悬停在“主页”上时,会出现“链接一”和“链接二”,当我将鼠标悬停在“服务”上时,会出现“链接三”和“链接四”...... 现在,当我将鼠标悬停在“服务”上时,“家”的状态会以同样的方式同时发生变化。并且它们的两个下拉菜单同时出现...
你有什么想法吗?
为了更清楚,我应该创建 fiddle 还是 codepen 示例?
const Header = () => {
const [menuHoverActive, setMenuHoverActive] = useState(false)
const handleHoverOnMouseEnter = () => {
setMenuHoverActive(true)
}
const handleHoverOnMouseLeave = () => {
setMenuHoverActive(false)
}
return (
<nav className="">
<ul className="xl:inline-flex xl:flex-row xl:ml-auto xl:w-auto w-full xl:items-center items-start flex flex-col xl:h-auto">
<li className="relative">
<Link
onMouseEnter={handleHoverOnMouseEnter}
onMouseLeave={handleHoverOnMouseLeave}
className=""
to="/"
>
Home
</Link>
{menuHoverActive ? (
<ul className="flex bg-gray-700 flex-col xl:absolute xl:top-10">
<li className="">
<Link className="" to="/">
Link One
</Link>
</li>
<li className="">
<Link className="" to="/">
Link Two
</Link>
</li>
</ul>
) : (
''
)}
</li>
<li className="relative">
<Link
onMouseEnter={handleHoverOnMouseEnter}
onMouseLeave={handleHoverOnMouseLeave}
className=""
to="/"
>
Services
</Link>
{menuHoverActive ? (
<ul className="flex bg-gray-700 flex-col xl:absolute xl:top-10">
<li className="">
<Link className="" to="/">
Link Three
</Link>
</li>
<li className="">
<Link className="" to="/">
Link Four
</Link>
</li>
</ul>
) : (
''
)}
</li>
</ul>
</nav>
)
}
【问题讨论】:
-
希望对您有所帮助,codesandbox.io/s/tailwind-css-and-react-forked-rq7cx?file=/src/… ..您也可以尝试上述链接中的结果..
标签: javascript reactjs tailwind-css