intersectionObserver적용 했는데 왜 계속 inView 값이 False로 찍힐까요
import { useInView } from 'react-intersection-observer';
....
const Home = () => {
...
const { mainPosts, hasMorePosts, loadPostsLoading } = useSelector(
state => state.post,
);
const [ref, inView] = useInView();
useEffect(() => {
dispatch({
type: LOAD_POSTS_REQUEST,
});
}, []);
useEffect(() => {
console.log(inView);
if (hasMorePosts && !loadPostsLoading) {
const lastId = mainPosts[mainPosts.length - 1]?.id;
dispatch({
type: LOAD_POSTS_REQUEST,
lastId,
});
}
}, [inView, hasMorePosts, loadPostsLoading, mainPosts]);
return (
<AppLayout>
....
<div ref={hasMorePosts && !loadPostsLoading ? ref : undefined} />
</AppLayout>
);
...
pages/index.js 코드가 다음과 같은데
계속해서 콘솔창에 inView 값이 false라고 뜹니다.
true로 변화하지 않습니다.
그래서 if 문 구절이 실행조차 되지 않는데
뭐가 문제일까요
回答 3
0
아뇨 반대입니다 loadPostLoading이 계속 false인 상태에서 어떤 이벤트도 발생하지 않습니다.
네트워크도 아무 변화가 없어요
그냥 맨 처음 컴포넌트가 렌더링? 되는 시점에 useEffect => LOAD_POST_REQUEST 만 한 번 보내고
스크롤 끝까지 내린 시점에선 어떠한 이벤트도 감지되지 않아요 ㅠ
useInView 가 적용이 안 되고 있는 건가요?
0
지금 이런 느낌인데.. loadPostsLoading가 true가 되어야 ref에 값이 들어가고..
inView도 true가 되는 것이 아닌가요?
코드 돌아가는 순서가 파악이 안되어 헤매고 있습니다 ㅠㅋㅋ
0
ref가 달린 div에 height와 backgroundcolor를 주시고 실제로 화면에 보이는게 맞는지, 화면에 보일때 inView가 true가 되는지 획인해보세요
0
헉 돼요!!! 그럼 div에 height를 주면 해결이 될까요?
이렇게 되다가
REQUEST 요청도 잘 가고 응답도 잘 오고!! REDUX 보니 요소도 잘 추가가 됩니다.
0
hasMorePosts는 true가 찍히는데
loadPostsLoading은 false가 찍힙니다
맨 처음에는 useEffect 에 의해 loadPostsLoading이 초반에 false=>true로 바뀌는데
스크롤 이벤트? 게시글을 다 내린 시점에 loadPostsLoading이 변하지 않습니다
0
hasMorePosts가 true고 loadPostsLoading이 false인 상황에 observer가 작동해야 하는데요. loadPostsLoading이 계속 true인 것인가요? true인 이유는 게시글 로딩이 완료가 안 되서 그런 것인데 네트워크탭 열어보셨을 때 빨간 색 에러 요청이 있나요?
넥스트 버젼 질문
0
78
2
로그인시 401 Unauthorized 오류가 뜹니다
0
89
1
무한 스크롤 중 스크롤 튐 현상
0
175
1
특정 페이지 접근을 막고 싶을 때
0
103
2
createGlobalStyle의 위치와 영향범위
0
96
2
인라인 스타일 리렌더링 관련
0
91
2
vsc 에서 npm init 설치시 오류
0
146
2
nextjs 15버전 사용 가능할까요?
0
158
1
화면 새로고침 문의
0
121
1
RTK에서 draft, state 차이가 있나요?
0
153
2
Next 14 사용해도 될까요?
0
452
1
next, node 버전 / 폴더 구조 질문 드립니다.
0
349
1
url 오류 질문있습니다
0
211
1
ssh xxxxx로 우분투에 들어가려니까 port 22: Connection timed out
0
373
1
sudo certbot --nginx 에러
0
1275
2
Minified React error 콘솔에러 (hydrate)
0
470
1
카카오 공유했을 때 이전에 작성했던 글이 나오는 버그
0
247
1
프론트서버 배포 후 EADDRINUSE에러 발생
0
327
1
npm run build 에러
0
518
1
front 서버 npm run build 중에 발생한 에러들
0
382
1
서버 실행하고 브라우저로 들어갔을때 404에러
0
338
2
css 서버사이드 랜더링이 적용되지 않아서 문의 드립니다.
0
288
1
팔로워 3명씩 불러오고 데이터 합쳐주는걸로 바꾸고 서버요청을 무한으로하고있습니다.
0
239
2
해시태그 검색에서 throttle에 관해 질문있습니다.
0
201
1

