提问人:Abinash 提问时间:11/6/2023 更新时间:11/6/2023 访问量:32
useSignal 在更新对象中的值时重新呈现状态,为什么?
useSignal re-rendering state while updating a value in an object, why?
问:
我注意到,当我更新信号变量中的单个值时,例如 ( const count = useSignal(0) )时,DOM 不会重新渲染,但是当我更新对象的值时,DOM 每次都会重新渲染。 为什么会这样?
答:
0赞
Oktay Yuzcan
11/6/2023
#1
在组件渲染时,您正在使用 items.value。如果该值(数组本身)发生更改,则组件将重新呈现。如果使用 count.value 而不是 count,则当 count 更改时,组件也会重新渲染。
items.value.map
返回 new 数组,因此无法使用该实现重新渲染该跳过。如果将该循环逻辑移动到新组件中,并将项作为 prop 传递给它,则只有新组件会重新渲染
评论