【发布时间】:2021-10-15 08:35:23
【问题描述】:
我想显示用户对象数组中属性的变化。我使用useEffect,但它无法挂钩属性更改(或者我错过了什么?)。
用户对象数组。
// list of user
const [user, setUser] = React.useState = ([
{
name: 'Tom',
age: 23
},
{
name: 'Marry',
age: 24
},
{
name: 'Dan',
age: 22
},
{
name: 'Rose',
age: 22
},
{
name: 'Alice',
age: 23
}
])
我钩user的变化
React.useEffect(() => {
console.log('useEffect: hook user')
console.log(user)
}, [user])
然后,我通过函数handleUpdate()点击按钮后更新对象索引1的属性年龄。
function handleUpdate() {
let v = user
v[1].age = 99
setUser(() => {
return v
})
console.log('updated')
console.log(user)
}
日志显示数组更新成功,但登录useEffect没有显示任何变化。 log after updated array
【问题讨论】: