Я использую setState внутри функции, которая срабатывает при каждой прокрутке, чтобы получить значение offSet
, которое будет использоваться в определенном расчете. Я заметил, что использование setState в то время как прокрутка делает задержку прокрутки очень большой, и это не совсем гладко. Как я мог сделать плавную прокрутку при выполнении моих расчетов?
моя функция
/**
* @override
*/
onWidgetScroll(e) {
const myDiv = document.getElementById('myScroll');
this.setState({
offSet: myDiv && Math.abs(myDiv.getBoundingClientRect().top) + 60,
});
}
Контейнер - это что-то вроде этого со многими компоненты внутри.
<div>
<div id="myScroll">
/*Other components*/
</div>
</div>
Без setState, прокрутка намного плавнее. Использование setState приводит к задержке.