По сути, у меня есть массив, в котором у меня есть вся информация о значке iconi c и ссылках, которые я буду отображать на боковой панели, но я не уверен, как создать состояние для сопоставления, и разрешил только одному элементу из этого меню быть активным одновременно
следующим образом:
![enter image description here](https://i.stack.imgur.com/8yMbJ.gif)
И так как у меня будет два типа меню, то есть когда оно закрыто и когда оно открыто, я не могу решить это
мои теги:
export const SideBarTags = [
{
name: 'Tutoriais',
link: '../tutorials',
icon: faFileAlt,
dropdownItems: null,
},
{
name: 'Avisos',
link: '../news',
icon: faNewspaper,
dropdownItems: null,
},
{
name: 'Serviços',
link: '../services',
icon: faMeteor,
dropdownItems: [
{ name: 'Elo Boost', link: '/eloBost' },
{ name: 'Duo Boost', link: '/duoBoost' },
{ name: 'MD10', link: '/eloBost' },
{ name: 'Coaching', link: '/duoBoost' },
{ name: 'Vitóriais', link: '/duoBoost' },
],
},
{
name: 'Carteira',
link: '../cartcredit',
icon: faWallet,
dropdownItems: [
{ name: 'Histórico', link: '/history' },
{ name: 'Adicionar Crédito', link: '/add' },
],
},
];
мой tsx:
interface OpenedMenuTags{
isOpen: boolean
}
const OpenedMenuTags: React.FC<OpenedMenuTags> = () {
return(
)
}
const Menu: React.FC<Hamburguer> = ({ isOpen }) => {
const renderTags = () => {
if(isOpen){
return (
<OpenedMenuTags isOpen={isOpen}/>
)
}else if(isOpen === false){
return(
<>
Nothing Yet
</>)
}
}
return (
<DashMenu open={isOpen}>
<div className="show-hide">
<span>
<FontAwesomeIcon
className="iconmenu"
icon={faTachometerAlt}
size="1x"
fixedWidth
color="white"
/>
DashBoard
</span>
</div>
<MenuList open={isOpen}>
{isOpen?}
</MenuList>
</DashMenu>
);
};