componentDidUpdate没有正确触发

时间:2018-10-13 07:59:30

标签: javascript reactjs redux

下午好,

我第一次被React困住了,无法理解为什么componentDidUpdate没有给我正确的结果。我想做的是根据通过props传入的标签数,对子组件进行一些更改。当我尝试记录组件中发生的所有更改时,您可以清楚地看到标记的数量已更改,但是它没有记录它更新组件的周期。

这是我的componentDidUpdate方法:

  componentDidUpdate(previousProps) {
    if (this.props.message.id == 11553) {
      console.log(`Current tag array length: ${this.props.message.tags.length}, previous: ${previousProps.message.tags.length}`);
    }
  }

这是日志结果:

MessageTags.js:190 Current tag array length: 4, previous: 4
MessageTags.js:190 Current tag array length: 4, previous: 4
MessageTags.js:190 Current tag array length: 4, previous: 4
MessageTags.js:190 Current tag array length: 4, previous: 4
MessageTags.js:190 Current tag array length: 4, previous: 4
socket.js:41 SOCKET DATA RECEIVED -> createTag:  {…}
MessageTags.js:190 Current tag array length: 5, previous: 5
MessageTags.js:190 Current tag array length: 5, previous: 5

套接字响应后,新标签将添加到redux状态。我已经检查了该组件是否以某种方式被重新渲染,因此它不会更新而是直接被渲染,并且它没有再次触发componentDidMount()方法。因此,我相信它不会被删除并重新呈现。

在我这里的问题是什么?

0 个答案:

没有答案