강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

NOAH님의 프로필 이미지
NOAH

작성한 질문수

[리뉴얼] React로 NodeBird SNS 만들기

인피니트 스크롤링 적용하기

load request가 두 번씩 가는 현상

작성

·

211

0

밑에 분들처럼 저도 코드에 이상은 없는거 같은데 request가 두번씩 가는 현상이 나오네요. 현영님처럼 한 번만 가야 정상일듯 한데 ... 천천히 내리면 한 번만 나오긴하는데 빠르게 스크롤을 내리거나 많이 움직이면 두 번씩 가네요.

혹시 시간 있으시면 확인좀 부탁드릴게요. 혹시 useEffect가 두 번 정의 되어있어서 그런지... 잘 모르겠네요

twitter-clone/index.js at main · MinwooJJ/twitter-clone (github.com)

function Home() {
  const { me } = useSelector((state=> state.user);
  const { mainPostshasMorePostloadPostsLoading } = useSelector(
    (state=> state.post
  );
  const dispatch = useDispatch();

  useEffect(() => {
    dispatch(loadPostsRequest());
  }, []);

  useEffect(() => {
    function onScroll() {
      console.log(
        window.scrollY,
        document.documentElement.clientHeight,
        document.documentElement.scrollHeight
      );
      if (
        window.scrollY + document.documentElement.clientHeight >
        document.documentElement.scrollHeight - 300
      ) {
        if (hasMorePost && !loadPostsLoading) {
          dispatch(loadPostsRequest());
        }
      }
    }
    window.addEventListener('scroll'onScroll);
    return () => {
      window.removeEventListener('scroll'onScroll);
    };
  }, [hasMorePostloadPostsLoading]);

  return (
    <AppLayout>
      {me && <PostForm />}
      {mainPosts.map((post=> (
        <PostCard key={post.id} post={post} />
      ))}
    </AppLayout>
  );
}

퀴즈

43%나 틀려요. 한번 도전해보세요!

Redux Thunk의 주된 역할은 무엇일까요?

상태 변화 로깅하기

비동기 액션 처리 돕기

액션 타입 상수화 강제하기

리듀서 불변성 자동으로 관리하기

답변 1

0

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

리덕스 데브툴에서 request가 여러 번 보이시는 거죠? success도 여러 번 나오나요?

NOAH님의 프로필 이미지
NOAH
질문자

request는 최대 2번까지 가구요. success는 한번만 뜹니다.

만약, 크게 상관없는 부분이라면 그냥 무시하고 진행해야겠네요.

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

문제 없어보입니다

NOAH님의 프로필 이미지
NOAH

작성한 질문수

질문하기