gpt4 book ai didi

reactjs - 检查所有子组件是否已安装

转载 作者:行者123 更新时间:2023-12-03 13:19:34 24 4
gpt4 key购买 nike

有什么办法可以检测 child 是否已经挂载了吗?当我初始化同位素时,必须安装所有子组件才能初始化。超时时间为 5 毫秒,它按预期工作,但我确信有更好的方法。

componentDidMount: function() {
var container = this.refs.vinesOverview.getDOMNode();

setTimeout(function() {
var isotope = new Isotope(container, {
itemSelector: ".vine_item",
layoutMode: "masonry",
resizable: true,
gutter: 0,
isFitWidth: true
});

this.setState({ isotope: isotope });
}.bind(this), 5);
}

更新

我现在已经尝试过这个:

componentDidMount: function() {
var container = this.refs.vinesOverview.getDOMNode();
console.log(container.offsetHeight); // console output 0
setTimeout(function() {
console.log(container.offsetHeight); // console output 3150
}, 5);
},

那么5ms之后它就计算出高度了?这就是同位素不起作用的原因。这是一个错误还是正常现象?谢谢!

最佳答案

React 会等待挂载所有子组件,然后再在父组件上调用 componentDidMount 。如果您发现重现情况并非如此,请提交错误。

关于reactjs - 检查所有子组件是否已安装,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23734862/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com