将redux状态注入组件,重新渲染

时间:2017-05-29 14:38:00

标签: reactjs redux react-redux

在redux的文档中:

https://github.com/reactjs/react-redux/blob/master/docs/api.md#inject-dispatch-and-every-field-in-the-global-state

它表示将完整状态注入连接组件,这会导致性能下降,因为组件会在每个操作上重新呈现。

现在我想知道,为什么会这样。默认的严格等于areStatesEqual函数以及默认的浅等于areStatePropsEqual函数是否至少会捕获状态未更改的情况?或者文件假设,状态可能会在每个动作上发生变化?

1 个答案:

答案 0 :(得分:0)

each only listen to a relevant slice of the state

这正是你想要的。您不希望将完整状态注入每个组件,因为每当一个状态发生更改时,每个组件都将重新呈现,即当该状态与大多数组件无关时的事件。您不希望组件侦听与它们无关的状态,因为它们将执行无用的重新渲染,这对性能不利。

在大多数情况下,至少某些状态会在触发操作时发生变化,因为这是整个操作点。触发状态更新。

相关问题