В моем примере есть прокручиваемый div, и я пытаюсь обновить состояние (просто счетчик) внутри события onscroll этого div. Что происходит, он обновляется только один раз (в первый раз). Это рабочий ответ ...

0
Kostas 8 Янв 2021 в 11:18

1 ответ

Лучший ответ

Если вы хотите обновить состояние при прокрутке, вы можете использовать onScroll, предоставленный React.

Repl-демо

import React, {useState} from 'react';

function App() {

  const [count, setCount] = useState(0);

  const handleScroll = () => {
    setCount(p => p + 1);
  }

  return (
    <div>
      <div style={{position: 'fixed', top: '0'}}>{count}</div>
      <div style={{height: '100px', overflow: 'auto'}} onScroll={handleScroll}>
        <div style={{height: '1000px'}}></div>
      </div>
    </div>
  );
}

export default App;
0
Germa Vinsmoke 8 Янв 2021 в 08:35