Tajuk ditulis semula kepada: TypeError: isOpen bukan fungsi boleh panggil
<p>Saya cuba menukar komponen berasaskan kelas saya kepada komponen berasaskan fungsi, yang saya tulis beberapa ketika semasa belajar REACT, tetapi semasa penukaran, saya mendapat ralat yang isOpen bukan fungsi, saya sedikit keliru kerana saya mentakrifkannya sebagai keadaan dan memanggilnya dalam handleToggle() dan kemudian memanggilnya pada logo komponen. </p>
<pre class="brush:php;toolbar:false;">import React, { useState, useEffect } daripada "react";
import logo daripada "../images/logo.svg";
import { FaAlignRight } daripada "react-icons/fa";
import { Pautan } daripada "react-router-dom";
import Lencana daripada '@mui/bahan/Lencana';
import Menu daripada '@mui/material/Menu';
import MenuItem daripada '@mui/material/MenuItem';
eksport fungsi lalai Navbar(){
const [anchorEl, setAnchorEl] = useState(null);
const open = Boolean(anchorEl);
const handleClick = (acara) =>
setAnchorEl(event.currentTarget);
};
const handleClose = () =>
setAnchorEl(null);
};
const [isOpen, setIsOpen] = useState(null);
useEffect(() =>{
handleToggle();
});
// negeri = {
// isOpen: false,
// };
const handleTogol = () =>
setIsOpen(isOpen() );
};
kembali (
<nav className="navbar">
<div className="nav-center">
<div className="nav-header">
<Pautan ke="/">
<img src={logo} alt="Pusat Peranginan Pantai"
</Pautan>
<butang
type="butang"
className="nav-btn"
onClick={handleToggle}
>
<FaAlignRight className="nav-icon"
</butang>
</div>
<ul
className={isOpen ? "pautan nav show-nav" : "pautan navigasi"}
>
<li>
<Pautan ke="/">Laman Utama</Pautan>
</li>
<li>
<Pautan ke="/bilik">Bilik</Pautan>
</li>
</ul>
<Badge badgeContent={4} color="utama"
id="butang-asas"
aria-controls={open ? 'basic-menu' : tidak ditentukan}
aria-haspopup="benar"
aria-expanded={open ? 'benar' : tidak ditentukan}
onClick={handleClick}
>
<i className="fa-solid fa-cart-shopping text-light"
style={{ fontSaiz: 25, kursor: "penunjuk" }}
></i>
</Lencana>
</div>
<Menu
id="menu asas"
anchorEl={anchorEl}
buka={open}
onClose={handleClose}
MenuListProps={{
'aria-labelledby': 'basic-button',
}}
>
<MenuItem onClick={handleClose}>Profile</MenuItem>
<MenuItem onClick={handleClose}>Akaun saya</MenuItem>
<MenuItem onClick={handleClose}>Logout</MenuItem>
</Menu>
</nav>
);
}</pre>
<p>将非常感谢任何建议。</p>