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

박현민님의 프로필 이미지
박현민

작성한 질문수

MERN STACK 커뮤니티 : 시작부터 배포까지 알려주는 React

useEffect

useEffect 질문입니다.

작성

·

166

1

useEffect( () => {

    alert("나타났습니다")

    return () => {

        alert("죽었습니다")

    }

}, [] )

 

으로 똑같이 작성하였는데,

 

upload로 들어갈때

나타났습니다 -> 죽었습니다 -> 나타났습니다 

이렇게 3번나옵니다.

 

list나 home으로 갈땐 죽었습니다 한번만 나옵니다.

 

무슨이유일까요...

답변 1

1

박현민님의 프로필 이미지
박현민
질문자

https://velog.io/@kysung95/%EC%A7%A4%EB%A7%89%EA%B8%80-react-strict-%EB%AA%A8%EB%93%9C%EB%9E%80

react.strictmode 를 삭제해주어 해결을 하였습니다.

ReactDOM을 최신버전인 react18에서는 지원하지 않는다고하네요. 그래서 옛날버전 코드로는 사용하지못하고, 

react.strictmode 만 지워주었습니다.

문제가 되는 함수를 두번실행하여주는 double-invoke 현상으로 인해 useEffect가 두번 랜더링 되지않았나 생각합니다.

판다코딩님의 프로필 이미지
판다코딩
지식공유자

Happy Coding :)

저도 이 버그 때문에 헤매고 있었는데 감사합니다 :)

박현민님의 프로필 이미지
박현민

작성한 질문수

질문하기