因此,我正在尝试将现有的Portal实现从旧的stable_renderSubtreeIntoContainer迁移到新的Portal实现。
我有一个问题,相关代码具有以下功能:
unstable_renderSubtreeIntoContainer(
this,
this.props.children,
this.portalElement,
() => {
if (this.props.isOpen) {
this.props.onRender(this.portalElement,
this.getTargetElement());
}
callback(); //runs this.props.open() if the update ran open
},
);
一些打开/关闭逻辑可以通过将要包装的组件包装在一个对象内来简化,并可以从那里调用适当的回调。但是似乎createPortal没有回调可让您指定何时进行渲染。无论如何,对createPortal调用已完成渲染的同步还是异步操作?