const [data, setData] = useState(AccordionData)
const AccordionItems = data.map((item) => {
const OpenClose = (id) => {
if (id === item.id) {
setData(data => ([{
...data,
open: true
}]))
} else {
setData(data => ([{
...data,
open: false
}]))
}
}
return <AccordionItem
item={item}
key={item.id}
OpenClose={OpenClose}
id={item.id}
open={item.open}
/>
})
当我运行该函数时,所有元素都会重置,只有一个元素保留为无文本
Terra,你的想法可以这样实现......