react修改数组(响应式数据)
import { useState } from 'react'
function Example() {
const [items, setItems] = useState([
{ id: 1, value: 'apple' },
{ id: 2, value: 'banana' },
{ id: 3, value: 'cherry' }
])
const updateItemById = (id, newValue) => {
setItems(items.map((item) => (item.id === id ? { ...item, value: newValue } : item)))
}
updateItemById(2, 'berry')
return null
}
修改对象
function Example() {
const [state, setState] = useState({ count: 0, name: 'John' })
setState((prevState) => ({
...prevState,
count: prevState.count + 1,
name: 'Doe'
}))
console.log(state.count)
console.log(state.name)
return null
}