【发布时间】:2021-11-13 21:43:05
【问题描述】:
我正在尝试通过单击图标来更改图标。 isOpen 的值在控制台发生变化,但图标没有变化。
const [isOpen, setIsOpen] = useState(false);
<header className="w-full h-20 shadow-sm">
<div className="h-full sm:mx-6 md:mx-12 lg:mx-24 xl:mx-48 px-4 xl:px-0">
<nav className="h-full flex justify-between items-center text-lg">
<div className="flex items-center">
<p className="font-bold text-blue z-10">Shaddam</p>
<figure className="-ml-4 z-0">
<img src={BrandIconBg} alt="Blob" />
</figure>
</div>
<span
className="text-blue text-2xl cursor-pointer"
onClick={() => setIsOpen(!isOpen)}
>
<i className={!isOpen ? "fas fa-bars" : "fas fa-times"}></i>
</span>
</nav>
</div>
</header>
【问题讨论】:
-
请发个codesandbox好吗。因为问题绝对不在您发送的代码部分。
-
最好改代码,依赖“isOpen”状态,然后用特定的className渲染相应的图标
-
这里是代码框codesandbox.io/embed/…
-
idk 为什么在代码和盒子上工作但在本地开发上不起作用
-
是的。从技术上讲,您在那里没有任何问题,所以它应该可以工作。
标签: reactjs font-awesome use-state