如果不使用getDerivedStateFromProps,为什么子组件不会重新渲染?

时间:2019-04-03 00:06:37

标签: reactjs

我无法弄清楚为什么当我的selectedEvent通过setState成功更改时,为什么我的子组件不会以更新后的状态重新呈现。在孩子中,如果我使用getDerivedStateFromProps()可以使它正常工作,但是我认为这不是必需的。我丢失了一些东西。

prev: Pipe

我在App类中看到selectedEvent正确更新,但在Mainbar中却没有正确更新。显然它没有收到selectedEvent的更新状态。

1 个答案:

答案 0 :(得分:0)

在子组件中,您正在将props中的selectedEvent复制到状态,然后在render中使用this.state.selectedEvent。

构造函数仅被调用一次,因此以后在更改属性时您将不会更新孩子的状态。

在渲染方法中直接使用this.props.selectedEvent