【发布时间】:2020-12-24 17:03:12
【问题描述】:
在 React 文档中,它说
默认情况下,当你的组件的 state 或 props 发生变化时,你的组件会重新渲染。
我了解状态更改,但我不确定道具何时更改。据我所知,道具总是从父组件传递到子组件。并且当父组件重新渲染时(例如由于状态更改),所有子组件也会重新渲染(忽略 shouldComponentUpdate)。所以在我看来,如果父组件重新渲染,所有子组件都会重新渲染,无论我是否将新的道具传递给它们。如果我确实将新道具传递给子组件,那么子组件重新渲染的事实仅仅是因为父组件正在重新渲染,而不是因为我正在传递新道具。
是否存在父组件将新的props传递给子组件,导致子组件重新渲染,但又不是单纯由父组件重新渲染引起的场景?
是否有可能看到一个组件因为接收到新的 props 而不是因为父组件正在重新渲染(或它自己的状态发生变化)而重新渲染的示例?
对不起,如果这是一个基本问题,我是 React 新手。
编辑:我看到 Redux 可以通过传递新的 props 导致组件重新渲染,我很想知道 Redux 在幕后做了什么来实现这一点。
【问题讨论】:
-
这是一个很好的问题。
标签: reactjs react-redux