子组件即使其父组件也没有呈现

时间:2019-01-24 09:11:22

标签: reactjs

我对React中的渲染有疑问。见下图

enter image description here

呈现SelectableGroup组件是因为它更改了其状态(调用setState())。然后,将渲染其所有子项,直到DashboardConfigs组件为止。 DashboardConfigs组件未呈现,因为其shouldComponentUpdate()返回false。

现在我的问题是,为什么GridDashboardConfigs的所有其他后代被渲染?

我认为从shouldComponentUpdate返回false应该从渲染过程中切断整个组件树的分支。

请注意:

  • 我使用react-redux,但是Grid未连接到商店。
  • SelectableGroupGrid是react-bootstrap库中的组件。他们可能将上下文用于内部目的。重绘的原因可能是上下文吗? (我尚不知道上下文是如何工作的)

1 个答案:

答案 0 :(得分:2)

https://reactjs.org/docs/react-component.html#shouldcomponentupdate

” ... 请注意,返回false不会阻止子组件在其状态更改时重新呈现。”

我不知道组件的编写方式,但是您应该确保子组件的状态不变