godsplane, Спасибо за ответ. Я доработал код, добавил состояние fetching( при true отрабатывает функция fetchPosts. Теперь файл Index.js выглядит следующим образом:
При загрузке функция getStaticProps отрабатывается как надо, и первая порция данных рендерится на сервере.
После первого скрола срабатывает IntersectionObserver и в useEffect подгружаю следующую порцию данных, все по плану. (на этом этапе state содержит 20 постов). Но при втором скроле useEffect не срабатывает. Точнее в нем не устанавливается состояние fetching на true. Я предполагаю, что тут дело в замыкании, но не знаю как это исправить. Подскажи, пожалуйста, куда надо копать. И еще такой вопрос: сейчас в коде для наблюдения IntersectionObserver устанавливается последний элемент state posts. Но ведь можно создать просто пустой див в конце страницы, и следить IntersectionObserver за ним. Какой из этих вариантов предпочтительней? Если использовать див, то код на мой взгляд будет проще.
P.S. Исходный код я взял отсюда код
изменив api
При загрузке функция getStaticProps отрабатывается как надо, и первая порция данных рендерится на сервере.
После первого скрола срабатывает IntersectionObserver и в useEffect подгружаю следующую порцию данных, все по плану. (на этом этапе state содержит 20 постов). Но при втором скроле useEffect не срабатывает. Точнее в нем не устанавливается состояние fetching на true. Я предполагаю, что тут дело в замыкании, но не знаю как это исправить. Подскажи, пожалуйста, куда надо копать. И еще такой вопрос: сейчас в коде для наблюдения IntersectionObserver устанавливается последний элемент state posts. Но ведь можно создать просто пустой див в конце страницы, и следить IntersectionObserver за ним. Какой из этих вариантов предпочтительней? Если использовать див, то код на мой взгляд будет проще.
P.S. Исходный код я взял отсюда код
изменив api