Titel umgeschrieben in: TypeError: isOpen ist keine aufrufbare Funktion
<p>Ich versuche, meine klassenbasierte Komponente in eine funktionsbasierte Komponente umzuwandeln, die ich vor einiger Zeit geschrieben habe, als ich REACT lernte, aber während der Konvertierung habe ich die Fehlermeldung erhalten, dass isOpen keine Funktion ist. Ich bin etwas verwirrt, weil ich es als Zustand definiert und in handleToggle() aufgerufen habe und es dann beim Logo der Komponente aufgerufen habe. </p>
<pre class="brush:php;toolbar:false;">import React, { useState, useEffect } from "react";
Logo importieren aus „../images/logo.svg“;
import { FaAlignRight } aus "react-icons/fa";
import { Link } from "react-router-dom";
Badge aus „@mui/material/Badge“ importieren;
Menü aus '@mui/material/Menu' importieren;
MenuItem aus '@mui/material/MenuItem' importieren;
Exportieren Sie die Standardfunktion Navbar(){
const [anchorEl, setAnchorEl] = useState(null);
const open = Boolean(anchorEl);
const handleClick = (event) =>
setAnchorEl(event.currentTarget);
};
const handleClose = () =>
setAnchorEl(null);
};
const [isOpen, setIsOpen] = useState(null);
useEffect(() =>{
handleToggle();
});
// Zustand = {
// isOpen: false,
// };
const handleToggle = () =>
setIsOpen(isOpen() );
};
zurückkehren (
<nav className="navbar">
<div className="nav-center">
<div className="nav-header">
<Link zu="/">
<img src={logo} alt="Beach Resort"
</Link>
<-Taste
type="button"
className="nav-btn"
onClick={handleToggle}
>
<FaAlignRight className="nav-icon"
</button>
</div>
<ul
className={isOpen ? "nav-links show-nav" : "nav-links"}
>
<li>
<Link to="/">Home</Link>
</li>
<li>
<Link to="/rooms">Rooms</Link>
</li>
</ul>
<Badge BadgeContent={4} color="primär"
id="basic-button"
aria-controls={open ? 'Basismenü': undefiniert}
aria-haspopup="true"
aria-expanded={open ? 'wahr': undefiniert}
onClick={handleClick}
>
<i className="fa-solid fa-cart-shopping text-light"
style={{ Schriftartgröße: 25, Cursor: "Zeiger" }}
></i>
</Badge>
</div>
<Menü
id="Basismenü"
AnchorEl={AnchorEl}
open={open}
onClose={handleClose}
MenuListProps={{
'aria-labelledby': 'basic-button',
}}
>
<MenuItem onClick={handleClose}>Profile</MenuItem>
<MenuItem onClick={handleClose}>Mein Konto</MenuItem>
<MenuItem onClick={handleClose}>Logout</MenuItem>
</Menü>
</nav>
);
}</pre>
<p>将非常感谢任何建议.</p>