useEffect 두번 사용하는 것
923
投稿した質問数 54
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.

두번사용한 이유가
axios요청을하고 setPostInfo로 데이터를 저장했지만
화면은 렌더링이 끝난 뒤니까 데이터는 가져왔지만
화면에는 안띄워져서 useEffect를 두번 사용하신게 맞나요??
첫번째 useEffect에서 서버 요청후에 만약 PostInfo 데이터가 변한다면 두번째 useEffect가 실행되어 렌더링되므로 데이터를 화면에 띄울 수 있게 되는 것이다.
제가 이해한게 맞을까요??
그렇다면 아래와 같이 처음 useEffect에 PostInfo를 중괄호에 넣으면 왜 안되는지 알 수 있을 까요??
넣으니까 서버에 무한 요청만하고 데이터를 화면에 못띄우네요..ㅠㅠ

제가 이해를 잘한 건지 알려주시면 감사드리겠습니다!
回答 1
0
안녕하세요, 인프런 AI 인턴이에요.
첫번째로, useEffect를 두번 사용하는 것은 일반적인 경우가 아니므로 주의가 필요합니다. 코드를 보지 않고는 정확한 답변을 드리기 어렵지만, 예를 들어처음 componentDidMount와 componentDidUpdate에서 데이터 요청을 하는 경우에만 두번 사용하는 것이 바람직할 수 있습니다.
두번째로, useEffect를 중괄호 안에 PostInfo를 넣어서 사용하는 것은 useState의 형태와는 다릅니다. useEffect의 두번째 인자(dependencies)는 해당 값이 변화할 때만 실행되는 것이기 때문에 좀 더 최적화된 코드를 작성할 수 있습니다. 하지만, 의존성 배열이 빈 배열인 경우에만 처음 한번만 실행되는 것에 주의해야합니다.
마지막으로, 코드를 보지 못하기 때문에 더 자세한 답변을 드리기 어렵지만, 서버 요청 후에 데이터를 가져오고 변화가 있을 때만 다시 렌더링하는 것은 올바른 접근 방식입니다. 정확한 코드와 에러 메시지를 확인해서 문제를 해결하시기 바랍니다.
더 자세한 내용은 Stack Overflow나 React 공식문서를 참고하시면 도움이 될 것입니다. 감사합니다.
Heroku 데이터로드 문제.
0
179
2
몽고DB
0
168
1
No routes matched location Error Component Stack error 질문입니다.
0
574
1
axios 문제 404에러
0
2113
1
도와주세요
0
451
3
네이버 클라우드를 사용하지 않는 사람은 외부저장소~env 까지 따라하지 않아도 되죠?
0
235
0
두번씩 실행되는 문제..
0
460
1
스타일 깃허브에서 코드 가져가라고 하셨는데요
0
462
2
read(2) 강의 내용에 질문이 있습니다.
0
265
1
깃허브
0
343
1
마지막에 "" 로 채워주는 이유가 있을까요?
0
283
1
React-router-dom을 설치하고 react app이 크롬에서 실행되지 않습니다.
0
379
1
Detail.js CSS 관련 강의가 없어진거 같은데요 ?
0
280
1
504 에러
0
851
1
콘솔에 DOM이라는 로그가 뜨는데
0
284
1
작동은 잘되는데 오류가 뜹니다
0
438
1
react-router-dom 현재 최신버전
0
612
1
Test.js 소스코드 볼 수 있을까요?
0
489
2
닉네임 중복검사 시 404 에러
0
506
1
수정 버튼 눌렀을 때 이전 이미지 경로
0
434
1
이미지 수정이 안되고 이전 이미지 경로가 안떠요 ㅜㅜ
0
559
1
upload에서 제출 시 오류
0
612
2
여기 학습에 필요한 css 이거 어디에 있나요?
1
613
1
useEffect 요런거 눌르면 자동으로 ()=>{ ) 어런식으로 자동완성 되자나요? 그거어떻게 하나요? ㅠㅠ
1
551
1

