当组件完全呈现时,我需要进行一些大小计算。然而,componentDidMount
方法会在呈现组件时立即触发,但它的子组件不会。这段代码例如:
componentDidMount(){
console.log(findDOMNode(this).childNodes.length);
}
输出0
一旦组件完全呈现,以及任何后代组件,触发某些代码的正确方法是什么。
编辑:我不想使用componentDidUpdate
,因为该方法会触发任何更新。我只需要运行一次。
Edit2:正如@NaisheelVerdhan指出的那样,文档说componentDidMount
ins首先调用了孩子,但在这种情况下我很困惑为什么上面的例子会返回0
答案 0 :(得分:0)
通常,您希望在render方法本身中执行计算。你有什么理由不能这样做吗?
答案 1 :(得分:0)
对不起大家。 我渲染的组件最初是空的,后来填充。 @NaisheelVerdhan是完全正确的。