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

김로인님의 프로필 이미지

작성한 질문수

React로 NodeBird SNS 만들기

7-9. 쓰로틀링(throttling)

질문이 있습니다.

20.01.11 19:19 작성

·

150

0

하다 보니 찾은 건데 

게시물의 수가 10단위로 떨어 지게 되면 즉 10개 라던지 20개 30개가 되면 true가 되서 데이터를 계속 들고 오더라구여 이런 경우는 어떻게 처리를 해야 될까요??

case LOAD_MAIN_POSTS_SUCCESS:

        case LOAD_HASHTAG_POSTS_SUCCESS:

        case LOAD_USER_POSTS_SUCCESS: {

            console.log(action.data.length)

            return {

                ...state,

                mainPosts: state.mainPosts.concat(action.data),

                hasMorePost: action.data.length === 10,

            };

        }

이런식으로 console.log를 찍어 보면

답변 5

0

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

2020. 01. 12. 00:28

코드 봤을 때 쓰로틀링이 적용 안 돼서 한번에 여러 이벤트가 호출되는 것 같습니다. 쓰로틀링 강좌를 참고해보세요.

0

김로인님의 프로필 이미지
김로인
질문자

2020. 01. 11. 20:00

LOAD_USER_POSTS_SUCCESS 까지 하고 

index 에서 가져온 hasMorePost 값에서 확인을 해보니 

true가 계속 해서 나오더라구여 

https://github.com/emforhs0023/Infinity-Scrolling

깃허브에도 올려 놨는데 혹시나 문제 있는지 봐주실수 있나요? 

제 코드에 문제가 있을 가능성도 커서 혹시나 올려 봅니다.

0

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

2020. 01. 11. 19:54

true는 어디서 나오나요?

0

김로인님의 프로필 이미지
김로인
질문자

2020. 01. 11. 19:50

네 이렇게 감싸고 했는데도 위에 와 같이 0 true로 10단위 일때만 계속 나오더라구여 ㅠ.ㅠ

0

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

2020. 01. 11. 19:33

10단위일때 한 번 더 로딩하는 건 어쩔 수 없습니다. 단 그 다음에hasMorePost가 false가 돼서 더 불러오지는 않습니다. loadPosts를 if(hasMorePost)로 감싸셨나요?