• 카테고리

    질문 & 답변
  • 세부 분야

    풀스택

  • 해결 여부

    미해결

useEffect 질문입니다.

22.08.15 21:30 작성 조회수 130

1

useEffect( () => {

    alert("나타났습니다")

    return () => {

        alert("죽었습니다")

    }

}, [] )

 

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

 

upload로 들어갈때

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

이렇게 3번나옵니다.

 

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

 

무슨이유일까요...

답변 1

답변을 작성해보세요.

1

박현민님의 프로필

박현민

질문자

2022.08.15

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 :)

Hyeonsang Kim님의 프로필

Hyeonsang Kim

2022.09.29

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