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

양양이님의 프로필 이미지
양양이

작성한 질문수

Vue로 Nodebird SNS 만들기

3-5. fetch와 인피니트 스크롤링 구현

onScroll은 실행이 되는데 loadPosts가 실행이 안됩니다

작성

·

377

0

loadPosts가 100번에 한번 됩니다. 되도 다섯번 실행이 안되고 한번 실행되거나 두번되거나..안되거나합니다.

어딜 봐야할까요..

답변 12

0

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

감사합니다! 해결되었습니다. 3강 소스를 보니 ===가 >로 되어 있어 해보니 잘됩니다!

0

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

애초에 throttle이 없으면 스크롤을 내릴 때 dispatch가 한 번에 여러 번 호출돼서 게시글이 중복으로 불러와지거나 아니면 한 방에 수십 개 로딩하는 문제가 있습니다.

만약 스크롤을 내려도 dispatch가 호출 안되는 경우라면 if 문에서 window.scrollY랑 다른 값 비교하는 부분이 잘못되었을 것입니다. 그래서 스크롤을 내리는 길이가 짧아서 dispatch가 호출 안 되는 것일테고요.

0

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

지금 3-5강인데  throttle 나 기타 소스가 완전히 다른데요.. 강사님이 주신 링크는 최종버전인것같아요. 3-5강에서  throttle없이 강사님은 제대로 되는것 같아서요. 없으면 제대로 안되는게 맞는건가요?

0

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

제 강좌랑 코드가 다른점은 throttle 설정이 안 되어있는 것 같습니다.

https://github.com/ZeroCho/vue-nodebird/blob/master/ch5/front/store/posts.js

0

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

제가 다시 콘솔로그 넣어봤는데요. 콘솔로그를 넣으면 51까지 되기도 합니다. 그래서 아 이상이 없네 이러고 다시해보거나 로그찍는걸 지우면 다시 안됩니다. 왜 이럴까요..ㅠㅠ 그렇다고 로그 넣는다고 백퍼 되지도 않습니다.  

안됨(가끔 한번로드)>로그넣음>다 로드됨>한번로드됨>안됨>로그넣음>... 계속 이런 패턴이네요

0

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

vue.runtime.esm.js?2b0e:619 [Vue warn]: Invalid component name: "layouts/default.vue". Component names should conform to valid custom element name in html5 specification.

이런 에러가 뜨는데요. 이것때문에 안되는걸까요? 이 에러도 어쩌다 뜹니다

0

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

this.hasMorePost는 항상 true더라구요.위치값은 onScroll들어오면 if하기전에 찍었습니다
window.scrollY, document.documentElement.clientHeight,document.documentElement.scrollHeight 셋다 찍어봤는데 스크롤 움직이면 잘 오르고 내립니다. in을 못찍는거보면 판정에서 통과를 못하는것 같아요.

0

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

위치값은 어디서 찍어보셨나요? 그리고 this.hasMorePosts를 같이 찍어보시는 게 좋을 것 같습니다.

0

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

위치값은 찍어보면 잘 오르락내리락하는데 아주 드믈게만 판정이 되는 이유를 모르겠네요 ㅠㅠ

0

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

네, 지금 실행해보면 아예 안되거나 한번 실행되고 안됩니다. 

0

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

console.log('in')을 하셨는데 이 부분이 스크롤을 해도 호출이 안 되는건가요?

0

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

소스는 여기에 올렸습니다

https://github.com/shcoffee/NodeBird

양양이님의 프로필 이미지
양양이

작성한 질문수

질문하기