Всем доброго дня! Есть такая ситуация. На странице есть два компонента со скроллами ( высота больше разрешенной либо из-за высоты экрана ), но разными z-index. Один частично перекрывает другой. У того что на первом плане есть код по скроллу к элементу . Ref указан у определенного элемента в длинном списке.
const myRef = useRef<HTMLLIElement | null>(null);
const executeScroll = () => {
if (myRef) {
myRef?.current?.scrollIntoView({ behavior: "smooth" });
}
};
useEffect(() => {
executeScroll();
// сначала элементов нет. После их загрузки и получения в компоненте мы повторно вызываем useEffect
}, [itemsForRender]);
// если выполнено определенное условие , то будет ref. Только один элемент подходит под условие всегда
<li
ref={something1 ===something2 ? myRef : undefined}
/>
Проблема в том что когда происходит скролл в этом компоненте, то происходит скролл и у компонента , который сзади , хотя у него этого нет в функционале. Кто-нибудь сталкивался с таким поведением scrollIntoView или кто-то может подсказать более лучший способ для выполнения скролла к элементу?