Бесконечная прокрутка с вызовом API

#javascript #reactjs #api #intersection-observer

Вопрос:

Я хотел бы сделать бесконечную прокрутку с наблюдателем пересечения, который в функции обратного вызова увеличивает номер страницы из API и отображает другое изображение.

Я застрял на том, как я могу снова вызвать API и увеличить страницу.

Это то, что я пытался:

 const [page, setPage] = useState(1);  const [images, setImages] = useState(null);  const lastItem = useRef(null);   useEffect(() =gt; {  const intersection = new IntersectionObserver(() =gt; {  // setPage(page   1);  });   if (lastItem.current) {  intersection.observe(lastItem.current);  }     });   useEffect(() =gt; {  async function dataSet() {  const data = await fetch(`https://api.themoviedb.org/3/trending/movie/week?api_key=${apiKey}amp;page=${page}`).then((res) =gt; res.json());  setImages(data);  }  dataSet();  }, [apiKey, page]);   useEffect(() =gt; {});   if (!images) {  return lt;h2gt;Loading...lt;/h2gt;;  }   return (  lt;gt;  lt;Nav /gt;  lt;maingt;  lt;section className={styles.spacer}gt;  lt;h1gt;Trending Movieslt;/h1gt;  lt;ul className={styles.grid}gt;  {images.results?.map((image) =gt; {  return (  lt;li className={styles.gridItem} key={image.id} ref={lastItem}gt;  lt;img src={`https://image.tmdb.org/t/p/w370_and_h556_bestv2/${image.poster_path}`} alt={image.name} /gt;  lt;p className={styles.title}gt;{image.original_title}lt;/pgt;  lt;/ligt;  );  })}  lt;/ulgt;  lt;/sectiongt;  lt;/maingt;  lt;Footer /gt;  lt;/gt;  ); }