Если я сохраняю observe
внутри setTimeout
, то updateChild
вызывается при первом рендере, но если я удаляю setTimeout
, это работает на каждом рендере. Может кто-нибудь, пожалуйста, помогите мне, как решить эту проблему, поскольку мне нужно setTimeout
?
private observer = new MutationObserver(this.updateChild.bind(this));
updateChild(mutationsList: MutationRecord[], observer: MutationObserver) {
console.log('updated');
}
handelMouseEnter(){
if (this.popupTimer) {
clearTimeout(this.popupTimer);
}
this.popupTimer = setTimeout(() => {
this.container = document.createElement('div');
document.body.appendChild(this.container);
ReactDOM.render(
<Layout innerRef={e => (this.myRef = e)}>{this.props.children}</Layout>,
this.container,
);
if (this.myRef) {
this.observer.observe(this.myRef, { childList: true });
}
}, 500);
}