我刚刚在官方文档中读到 componentDidUpdate 在第一次渲染时没有被调用,我想这可能就是为什么我的这个组件在第一次渲染时没有定义 dom 的原因。
这是一个弹出模式,当页面需要编辑时弹出。
我还有其他方法可以解决这个问题吗?
componentDidUpdate() {
this.renderSingularForm();
}
renderSingularForm() {
let dom = ReactDOM.findDOMNode( this.refs.singularForm );
if ( this.props.pageObjToEdit && dom ) {
// DOESN'T GO HERE ON FIRST RENDER BECAUSE DOM IS NULL
createForm( window, dom, this.props.pageObjToEdit );
}
}
render() {
if ( this.props.pageObjToEdit ) {
return (
<div>
<div ref="singularForm" />
</div>
);
}
else {
return null;
}
}