Я пытаюсь получить стрелку position:absolute
, которая указывает на targetelement
, чтобы изменить положение всякий раз, когда что-то в моем макете изменяется, если это влияет на положение targetelement
(например, открывается или закрывается боковая панель, или окно получаетизменено)
Что-то вроде того, когда boundingClientrect
из targetelement
изменяется.Добавление elemRect.left
и т. Д. В массив зависимостей не работает, к сожалению, я намерен.В этом случае он обновляет стрелку только один раз, когда изменяется состояние, вместо плавного следования анимации цели.
Я также попробовал ResizeObserver
, который не срабатывает при перемещении целевого элемента.но только когда он изменяет размеры.
Пропуск массива зависимостей (как в примере) достигает того, чего я хочу, но полностью жарит компьютер.Я также часто получаю сообщение об ошибке «Максимальная обновленная глубина превышена», что имеет смысл, поскольку стрелка обновляет состояние в основном все время.
Использование useLayoutEffect
также не работает.
У меня естьВот небольшой пример того, что мне нужно:
https://codesandbox.io/embed/suspicious-haze-4jdi1
Я бы с удовольствием посоветовался, как правильно решить эту проблему.
Заранее спасибо!