在redux的文档中:
它表示将完整状态注入连接组件,这会导致性能下降,因为组件会在每个操作上重新呈现。
现在我想知道,为什么会这样。默认的严格等于areStatesEqual
函数以及默认的浅等于areStatePropsEqual
函数是否至少会捕获状态未更改的情况?或者文件假设,状态可能会在每个动作上发生变化?
答案 0 :(得分:0)
each only listen to a relevant slice of the state
这正是你想要的。您不希望将完整状态注入每个组件,因为每当一个状态发生更改时,每个组件都将重新呈现,即当该状态与大多数组件无关时的事件。您不希望组件侦听与它们无关的状态,因为它们将执行无用的重新渲染,这对性能不利。
在大多数情况下,至少某些状态会在触发操作时发生变化,因为这是整个操作点。触发状态更新。