강의

멘토링

커뮤니티

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

바스니카님의 프로필 이미지
바스니카

작성한 질문수

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

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

쓰로틀링에 대해 질문드립니다.

작성

·

229

0

아래와 같이 코드를 작성하면 request가 여러 번 일어나는데

loadPostsRequest의 상태가 바뀌는 도중에 스크롤링이 일어나서 dispatch가 되는 건가요?

이거 안 일어나려면 공지사항에 적어주신 인터섹션 옵저버 말곤 방법이 없나요?

 const { hasMorePosts, loadPostsRequest } = useSelector((state) => state.board);

  useEffect(() => {
    const loadBoard = async () => {
      if (
        window.scrollY + document.documentElement.clientHeight >
        document.documentElement.scrollHeight - 300
      ) {
        if (hasMorePosts && !loadPostsRequest ) {
          const lastId = lists[lists.length - 1]?.id;

          dispatch({
            type: actionType,
            data: { ...dispatchData, lastId },
          });
        }
      }
    };

    ...
  }, []);

답변 1

1

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

hasMorePosts랑 loadPostsRequest를 useEffect의 deps 배열에 추가하세요.

바스니카님의 프로필 이미지
바스니카

작성한 질문수

질문하기