[英]Why doesn't re-render Vue the component after changing the Pinia state (deleteing an object in Array)?
我有一个 deleteHandler function,它更改了 pinia 中的用户数组。 然而,在vue的devtools中,state被改变了,但是组件没有重新渲染,但是如果我从数组中删除object,只改变一些值,然后vue识别它并重新渲染组件,仅通过从数组中删除 object 是行不通的。
const deleteHandler = (user) => {
//doesn't renders
useUser.users = useUser.users.filter(usr => usr.id !== user.id)
//it works, the component is re-rendered
useUser.users.forEach(usr => {
usr.points += 1
})
}
我认为这是某种参考问题。 请试试这个
useUser.users = [...useUser.users.filter(usr => usr.id !== user.id)];
代替
useUser.users = useUser.users.filter(usr => usr.id !== user.id)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.