完全呈现组件时的React生命周期方法

时间:2015-12-21 13:48:57

标签: reactjs render react-dom

当组件完全呈现时,我需要进行一些大小计算。然而,componentDidMount方法会在呈现组件时立即触发,但它的子组件不会。这段代码例如:

componentDidMount(){
  console.log(findDOMNode(this).childNodes.length);
}

输出0

一旦组件完全呈现,以及任何后代组件,触发某些代码的正确方法是什么。

编辑:我不想使用componentDidUpdate,因为该方法会触发任何更新。我只需要运行一次。

Edit2:正如@NaisheelVerdhan指出的那样,文档说componentDidMount ins首先调用了孩子,但在这种情况下我很困惑为什么上面的例子会返回0

2 个答案:

答案 0 :(得分:0)

通常,您希望在render方法本身中执行计算。你有什么理由不能这样做吗?

答案 1 :(得分:0)

对不起大家。 我渲染的组件最初是空的,后来填充。 @NaisheelVerdhan是完全正确的。