假设我在 React 16 应用程序中有这样的组件层次结构:
组件A由组件B和C组成
这些组件由具有一些非零高度的块 HTML 元素表示。
在componentDidMount
组件B中,我使用 vanilla JavaScript 来找出折叠元素的高度。这使得底层 DOM 发生了变异。
在componentDidMount
组件C的方法中,我还使用 vanilla JS 来了解组件B和C顶部的偏移量。
我知道这两个组件的偏移量不能相同,但在我最初的代码版本中是相同的。在将偏移量计算功能包裹起来后,setTimeout
我得到了很好的测量结果。
setTimeout(() => {this.calculateElementsOffset()}, 100)
有没有办法对组件 B 中的排列进行连线整理,所以我不会setTimout
在组件 C 中使用带有神奇100
ms 的调用?