hooks/usePosts.js

    import {useEffect, useState, useCallback} from 'react';
    import {getNewerPosts, getOlderPosts, getPosts, PAGE_SIZE} from '../lib/posts';
    
    export default function usePosts(userId) {
      (...)
    
      const onRefresh = useCallback(async () => {
        if (!posts || posts.length === 0 || refreshing) {
          return;
        }
        const firstPost = posts[0];
        setRefreshing(true);
        const newerPosts = await getNewerPosts(firstPost.id, userId);
        setRefreshing(false);
        if (newerPosts.length === 0) {
          return;
        }
        setPosts(newerPosts.concat(posts));
      }, [posts, userId, refreshing]);
    
    (...)
    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.