我有一个左侧菜单,当您单击某个元素时,将显示该元素的子菜单。
但是对于我的实际代码,当单击某个元素时,会出现我的所有子菜单。
我知道我的方法不对,但我不知道该怎么做:(
我的示例代码:
import { useState } from 'react'
export default function Menu(){
const [visibleSubCategorie, setVisibleSubCategorie] = useState(false)
const Menu = [{
name: 'Homme', link : '/homme-fr', subCategory: false
}, {
name: 'Femme', link : '/femme-fr', subCategory: [{
name: 'haut', link : '/femme-haut-fr'
},{
name: 'bas', link : '/femme-bas-fr'
}]
},{
name: 'Enfant', link : '/enfant-fr', subCategory: [{
name: 'haut', link : '/enfant-haut-fr'
},{
name: 'bas', link : '/enfant-bas-fr'
}]
}]
console.log("Menu -> Menu", Menu)
return(
<>
{Menu.map(item=>
<div>
{item.subCategory ?
<>
<button type="button" onClick={() => setVisibleSubCategorie(!visibleSubCategorie)}>{item.name}</button>
{visibleSubCategorie && item.subCategory.map(subCategorys=>
<>
<p>{subCategorys.name}</p>
</>
)}
</>
:
<a href={item.link}>{item.name}</a>
}
</div>
)}
</>
)
}``
示例:当我单击按钮“Femme”以查看femme的子类别时,就像我也单击了“Enfant”按钮一样。
我可以创建一个组合体,并使使用状态“const [visibleSubCategorie, setVisibleSubCategorie] = useState(false)”,并且这个组合体在映射内,但我知道存在另一种方法。
天涯尽头无女友
ITMISS
相关分类