所以我制作了一个对象数组并映射了该数组。我也做了一个简单的可折叠的。问题是,可折叠装置无法正常工作。它应该只显示用户点击的内容。即,当用户单击属于 John Doe 的按钮时,可折叠组件应显示属于他的状态。我的代码发生了什么,它显示了每个人的状态。我试过 key={index} 但仍然没有结果。
到目前为止,这是我的代码...
import { useState } from "react";
const App = () => {
const [showCollapsible, setShowCollapsible] = useState(false);
const myDatas = [
{
id: 1,
fullName: "John Doe",
age: 28,
status: "On Duty",
},
{
id: 2,
fullName: "Jane Doe",
age: 27,
status: "Rest",
},
{
id: 3,
fullName: "James Doe",
age: 32,
status: "Take a leave",
},
];
return (
<div>
{myDatas.map((data, index) => {
return (
<div>
<p>{data.fullName}</p>
<p>{data.age}</p>
<button
key={index}
onClick={() => setShowCollapsible(!showCollapsible)}
>
Status
</button>
{showCollapsible && <div>{data.status}</div>}
</div>
);
})}
</div>
);
};
export default App;