javascript - 如何在 html 标签中使用 useState?
问题描述
我需要将我的状态链接到 HTML 标记。我设法使用类来做到这一点,但现在使用钩子我没有得到它。出现错误。
React Hook "useState" 在函数 "navbar" 中被调用,该函数既不是 React 函数组件也不是自定义 React Hook 函数 react-hooks/rules-of-hooks。
代码:
export default function navbar() {
const [isOpen, setIsOpen] = useState(false);
const handleClick = () => {
setIsOpen(!isOpen)
}
return (
<nav>
<div className="logoBtn">
<div className="logo">
<a href="#"><h1>Logo</h1></a>
</div>
<div className="btn" onClick={handleClick}>
<div className="bar"></div>
<div className="bar"></div>
<div className="bar"></div>
</div>
</div>
<ul className={isOpen ? 'showNav' : und}>
<li><a href="#">Home</a></li>
<li><a href="#">About</a></li>
<li><a href="#">Projects</a></li>
<li><a href="#">Contact</a></li>
</ul>
</nav>
);
}
解决方案
您需要一个大写的首字母作为组件名称。
这就是您当前遇到的错误的原因。
export default function Navbar() {
推荐阅读
- selenium - 由于公司政策,无法从 http://beust.com/eclipse/ 下载 testng。
- css - dist中的Angular 6多个css文件
- python - kwargs.get 只提取第一个字母
- perl - 如何在perl中重新声明同一范围内的变量?
- linux - Shell 脚本中基于菜单的选择
- python - Dask 从二进制文件中读取数据
- c# - 如何在 wpf 中添加 windows 媒体播放器控件?
- reactjs - 用 redux 做出反应 - 改变响应然后推送到商店?
- fabricjs - Fabric js图像过滤器
- c# - 如何正确比较两个 x 显着双打