问题
我有一个detail
标签列表,我想details
在另一个标签打开时关闭一个打开的标签。
我正在动态呈现details
标签列表
堆
我正在使用 React 和钩子
我的尝试
我将 open 属性设置为 useState 并在details
单击标签时更新,但这似乎不起作用。
这是代码沙箱的链接
import { useState } from "react";
const arr = [
{ name: "Jim", age: 22 },
{ name: "Sarah", age: 42 },
{ name: "Don", age: 7 }
];
export default function App() {
const [open, setOpen] = useState(false);
const toggleDetails = (index) => {
setOpen(!open);
};
return (
<ul>
{arr?.map((thing, index) => (
<details key={index} open={open} onClick={() => toggleDetails(index)}>
<summary>{thing.name}</summary>
{thing.age}
</details>
))}
</ul>
);
}