我正在尝试每次调用 handleScroll()
时将 React 状态 setMoviesPage
的值增加 1。
我遇到的问题是,当组件重新渲染(通过导航到不同的 URL 并返回)时,状态 setMoviesPage
才会更新。
这是我的代码:
const [moviesPage, setMoviesPage] = useState(1);
async function handleScroll() {
if (window.innerHeight + document.documentElement.scrollTop !== document.documentElement.offsetHeight) return;
await setIsFetching(true);
setMoviesPage(moviesPage + 1);
}
useEffect(() => {
if (!isFetching) return;
fetchMovies(String(moviesPage))
.then(prevState => updateMovies([...prevState]))
.catch(() => updateMovies([]));
setIsFetching(false);
}, [isFetching, setIsFetching, moviesPage, updateMovies]);
如何解决它?谢谢。