所有后代完成渲染后获取引用

问题描述

我正在处理react-leaflet自定义控件,并且我有一个需要其引用的组件。但是此组件具有动态呈现子级的功能。像这样:

<LayersControl ref={controlRef => this.controlRef = controlRef}>
  {this.props.children}
</LayersControl>

孩子们也有自己的孩子。在渲染这些子级时,它们会影响基本的传单逻辑。

(对于不熟悉或好奇的人,LayersControl将创建一个L.control.layersLayersControl的子代将始终是LayersControl.BaseLayerLayersConrol.Overlay然后,这些子节点将具有子节点,这些子节点可以是任意数量的尚不知道的反应叶层或组件。随着.BaseLayer.Overlay组件的安装,它们将修改基础的L.control.layers对象。)

在所有后代都呈现后,我试图获取对组件的传单实例的引用。但是,如上所述调用ref函数,不会发生这种情况。尽管我的引用确实在componentDidMount中定义,但它并不完整。例如,我在cdm中需要的一些关键属性尚不可用(即._container属性)。

我知道他的引用是如何工作的-根元素渲染和安装后,即使子代和后代尚未安装,它们也会为您提供引用。

除了没有像做setTimeout并在10ms之后获得引用这样的技巧外,一旦所有后代都完成渲染,如何获得该元素的引用?

Working demo of the issue

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...