我在函数组件中使用 Array.map 方法呈现了一个按钮列表。当我尝试将状态传递给每个映射的数组项时,渲染结果会立即更改所有数组项,而不是一个一个地更改。
这是我的代码。难道我做错了什么?抱歉,如果问题已在其他线程中解决,或者我使用了错误的方法。这是我的第一个 React 项目,我还在学习中。如果有人可以提供建议,我们将不胜感激。谢谢你!
import React, { useState } from "react"
export default function Comp() {
const [isActive, setActive] = useState(false)
const clickHandler = () => {
setActive(!isActive)
console.log(isActive)
}
const data = [
{ id: 1, name: "Alice" },
{ id: 2, name: "Bob" },
{ id: 3, name: "Charlie" },
]
const renderList = items => {
return items.map(item => (
<li key={item.id}>
<button onClick={clickHandler}>
{item.name} {isActive ? "active" : "not active"}
</button>
</li>
))
}
return (
<ul>{renderList(data)}</ul>
)
}
MYYA
qq_遁去的一_1
相关分类