【发布时间】:2021-12-01 08:05:58
【问题描述】:
我在这里举了一个我的问题的例子: EXAMPLE
我正在映射一个对象数组,这些对象有一个在单击时切换的按钮,但是当单击该按钮时,每个对象都会更改。
这是代码
export default function App() {
const [toggleButton, setToggleButton] = useState(true);
// SHOW AND HIDE FUNCTION
const handleClick = () => {
setToggleButton(!toggleButton);
};
return (
<div className="App">
<h1>SONGS</h1>
<div className="container">
{/* MAPPING THE ARRAY */}
{songs.map((song) => {
return (
<div className="song-container" key={song.id}>
<h4>{song.name}</h4>
{/* ON CLICK EVENT: SHOW AND HIDE BUTTONS */}
{toggleButton ? (
<button onClick={handleClick}>PLAY</button>
) : (
<button onClick={handleClick}>STOP</button>
)}
</div>
);
})}
</div>
</div>
);
}
我知道我应该使用扩展运算符,但我无法按预期工作。
请帮忙!
【问题讨论】:
-
你的所有按钮都附加到同一个状态
标签: reactjs use-state conditional-operator togglebutton spread