const [Movies, setMovies] = useState([]);
const [MainMovie, setMainMovie] = useState(null);
const [CurrentPage, setCurrentPage] = useState(0);
useEffect(() => {
const endpoint = `${API_URL}movie/popular?api_key=${API_KEY}&language=ko&page=1`;
fetchMovie(endpoint);
// create scrollEvent
window.addEventListener('scroll', scrollHandler, true);
}, []);
const scrollHandler = (e) => {
console.log("scrollEvent");
if( document.body.scrollHeight == window.scrollY + window.innerHeight ) {
console.log("scroll bottom Event");
loadMoreItems();
}
}
const loadMoreItems = () => {
console.log(CurrentPage); // Initial value of CurretPage does not change due to event occurrence
const endpoint = `${API_URL}movie/popular?api_key=${API_KEY}&language=ko&page=${CurrentPage+1}`;
fetchMovie(endpoint); // Execute setCurrentPage(CurretPage+1) in fetchMovie function
}
useEffect从此源创建的事件侦听器scrollHandler
当我运行loadMoverItems并从那里获取CurrentPage useState时,我总是只获取初始值。
我想知道JavaScript变量let,var和useState有何不同。
我寻求您的帮助。