Reactjs 如果我想监听某个元素的boundingClientRect()更改,那么在useEffect的依赖项数组中放入什么?
我正试图获得一个Reactjs 如果我想监听某个元素的boundingClientRect()更改,那么在useEffect的依赖项数组中放入什么?,reactjs,react-hooks,use-effect,Reactjs,React Hooks,Use Effect,我正试图获得一个位置:绝对的箭头,该箭头指向一个目标元素,每当布局中的内容发生变化时,如果这影响到目标元素的位置(例如侧边栏打开或关闭或窗口大小调整)。 每当targetelement的boundingClientrect发生更改时,沿的某个行。不幸的是,将elemRect.left等添加到依赖项数组中并没有按照我的预期工作。在这种情况下,它仅在状态更改时更新箭头一次,而不是平滑地跟随目标的动画 我还尝试了一个ResizeObserver,它不会在目标元素移动时触发,但只在调整大小时触发 省略依
位置:绝对的
箭头,该箭头指向一个目标元素
,每当布局中的内容发生变化时,如果这影响到目标元素
的位置(例如侧边栏打开或关闭或窗口大小调整)。每当
targetelement
的boundingClientrect
发生更改时,沿的某个行。不幸的是,将elemRect.left
等添加到依赖项数组中并没有按照我的预期工作。在这种情况下,它仅在状态更改时更新箭头一次,而不是平滑地跟随目标的动画
我还尝试了一个ResizeObserver
,它不会在目标元素移动时触发,但只在调整大小时触发
省略依赖项数组(如示例中所示)实现了我想要实现的目标,但它完全破坏了计算机。我还经常得到一个“最大更新深度超过错误”,这是有意义的,因为箭头基本上一直在更新状态
使用useLayoutEffect
也不起作用
我这里有一个我需要的小例子:
我很乐意听取关于如何妥善解决这个问题的建议
提前谢谢