Reactjs 在什么情况下我可以引用和更改状态?
useEffect从此源创建的事件侦听器scrollHandler 当我运行loadMoverItems并从中获取CurrentPage useState时,我总是只获取初始值 我想知道JavaScript变量let、var和useState有什么不同Reactjs 在什么情况下我可以引用和更改状态?,reactjs,react-hooks,use-effect,use-state,Reactjs,React Hooks,Use Effect,Use State,useEffect从此源创建的事件侦听器scrollHandler 当我运行loadMoverItems并从中获取CurrentPage useState时,我总是只获取初始值 我想知道JavaScript变量let、var和useState有什么不同 我请求您的帮助。这是陈旧的关闭问题。在fetchMovie中,您可以使用功能更新来获取其最新值setCurrentPage(prev=>prev+1)。 const [Movies, setMovies] = useState([]);
我请求您的帮助。这是陈旧的关闭问题。在
fetchMovie
中,您可以使用功能更新来获取其最新值setCurrentPage(prev=>prev+1)
。
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
}