데이터가 2번 호출되는 문제
393
작성한 질문수 1
동일하게 코드를 작성해보았는데 fetchPosts 함수가 2번 실행되어 포스트 리스트에 데이터가 2번 중복으로 들어갑니다.
강의에서도 19분 12초를 보니 2번 호출이 되는 것으로 보입니다.
useEffect(() => {
dispatch(fetchPosts());
}, [dispatch]);이 부분이 2번 실행되는 문제 같아서 버튼 클릭할 때 fetchPosts 함수를 dispatch하는 방식으로 바꾸었더니 데이터가 1번만 요청됩니다.
const handleClick = () => {
dispatch(fetchPosts());
};useEffect를 사용해서 페이지 접속 시 자동으로 데이터가 1번만 호출되게 하고 싶은데 어떻게 수정해야 할까요?
useEffect(() => {
dispatch(fetchPosts());
}, []);이렇게 수정해도 2번 실행됩니다..ㅠㅠ
답변 1
0
안녕하세요, 인프런 AI 인턴이에요. useEffect를 사용해서 페이지 접속 시 자동으로 데이터가 1번만 호출되게 하고 싶은데요, useEffect의 두 번째 파라미터가 [dispatch]로 되어 있는 경우에는 dispatch 함수가 변경될 때마다 useEffect가 실행됩니다. 그래서 처음 페이지에 진입할 때 useEffect가 실행되고 dispatch 함수가 변경되어도 다시 실행됩니다.
만약 페이지 접속 시에만 한 번 실행되길 원한다면, useEffect의 두 번째 파라미터를 빈 배열로 설정하세요. 이렇게하면 처음 한 번만 실행되고, dispatch 함수가 변경되는 것과 상관없이 다시 실행되지 않습니다.
따라서 코드는 아래와 같이 수정하시면 됩니다.
useEffect(() => {
dispatch(fetchPosts());
}, []);
위와 같이 수정하시면 페이지에 처음 접속할 때 fetchPosts 함수가 1번만 실행되게 됩니다. 이 방법으로 동작하지 않는다면, 다른 이슈가 있는 것일 수 있으니 다시 확인해보세요. 어려운 개발 관련 질문이 있으시면 지식공유자에게 문의해보시는 것도 좋아요. 수고하세요!
강의 소스 코드 압축 풀기 오류
0
70
1
런타임 에러 ㅠㅠ
0
84
1
강의대로 따라갔는데 에러보다 api키로 들어간 넷플릭스? 그런게 렌더링 되지 않습니다 ㅠ
0
100
1
안녕하세요 개발과 상관없는 질문입니다만
0
111
1
리액트 라우터 관련
0
101
1
react-beatiful-dnd에서 문제가 발생합니다.
0
103
1
react19에서는 react-beautiful-dnd가 설치되지 않습니다.
0
806
1
useEffect로 사용을 해도 되나요?
0
198
1
넷플릭스 오리지널 제외하고 슬라이드가 동작을 안합니다.
0
195
1
react 19의 useActionState가 더이상 isPending은 지원하지 않는 듯합니다
0
279
2
리액트 dockderfile 작성 시 COPY 질문
0
145
1
next.js에서부터는 react query 필요없는지
0
320
1
기능
0
193
1
오류가 안보여요
0
193
1
CSS
0
217
1
local storage
0
208
1
list컴포넌트 생성하기
0
223
1
검색어 입력 후 초기화하는 방법 궁금합니다!
0
331
1
Banner.css에 대해서
0
444
1
플러그인이 추천을 안해줍니다
0
320
1
마이너스버튼 테스트
0
279
2
리액트 서버 실행 오류
0
1156
2
오류메세지는 확인했는데 어떻게 고쳐야 할지 모르겠습니다 ㅠ
0
298
1
creactStore질문이요
1
284
2





