Reactjs 在什么情况下我可以引用和更改状态?

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([]);

useEffect从此源创建的事件侦听器scrollHandler

当我运行loadMoverItems并从中获取CurrentPage useState时,我总是只获取初始值

我想知道JavaScript变量let、var和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

    }