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

时间:2020-08-31 14:25:32

标签: reactjs react-hooks use-effect use-state

    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有何不同。

我寻求您的帮助。

0 个答案:

没有答案