Иногда мы хотим обновить стиль компонента при прокрутке с помощью React.

В этой статье мы рассмотрим, как обновить стиль компонента при прокрутке с помощью React.

Обновите стиль компонента при прокрутке в React

Мы можем добавить прослушиватель событий прокрутки в обратный вызов хука useEffect для прослушивания события прокрутки.

Например, мы можем написать:

import React, { useEffect, useState } from "react";
export default function App() {
  const [offset, setOffset] = useState(0);
  useEffect(() => {
    window.onscroll = () => {
      setOffset(window.pageYOffset);
    };
  }, []);
  console.log(offset);
  return (
    <div>
      {Array(100)
        .fill()
        .map((_, i) => (
          <p>{i}</p>
        ))}
    </div>
  );
}

У нас есть состояние offset, которое мы создаем с помощью хука useState.

Затем мы вызываем хук useEffect с обратным вызовом, который устанавливает свойство window.onscroll в функцию, которая вызывает setOffset, чтобы установить offset в положение прокрутки.

window.pageYOffset имеет позицию вертикальной прокрутки окна браузера.

Затем мы регистрируем offset в журнале консоли.

И мы отображаем некоторый контент, который требует прокрутки для просмотра в return statement.

Теперь, когда мы прокручиваем вверх или вниз, мы видим offset в журнале консоли.

Заключение

Мы можем добавить прослушиватель событий прокрутки в обратный вызов хука useEffect, чтобы прослушивать событие прокрутки.

Дополнительные материалы на PlainEnglish.io.

Подпишитесь на нашу бесплатную еженедельную рассылку новостей. Подпишитесь на нас в Twitter, LinkedIn, YouTube и Discord .