setState во время прокрутки делает прокрутку запаздывающей - PullRequest
1 голос
/ 05 марта 2020

Я использую 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 приводит к задержке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...