有什么方法可以检测孩子是否已安装?当我初始化同位素时,必须安装所有子组件以进行初始化。超时时间为 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);
},
那么在 5 毫秒后它计算了高度吗?这就是同位素不起作用的原因。这是bug还是正常?谢谢!