참고링크: https://projects.wojtekmaj.pl/react-lifecycle-methods-diagram/
=> 조건부 연산자로 해결가능('&&', 삼항연산자 등) 어차피 두번은 렌더되므로, 두번째에 받은 state 데이터로 map을 실행되도록 하면 됨
=> 굉장히 자주보는 오류임
=> 예를들어, 모달창 띄울 때, 클릭 등의 이벤트와 연결된 (boolean)변수를 활용하여, 변수값을 활용한 조건부 랜더를 통해 모달창 끄고 닫히도록 할 수 있음
🚨 주의 : React.StrictMode
에 의해 특정 라이프사이클 메서드가 2번 불릴 수 있음 (문제 X, 정상 O)
=> 이중으로 호출해서 문제점을 발견하기 쉽게 도와줌
: Strict 모드가 자동으로 부작용을 찾아주는 것은 불가능하지만, 조금 더 예측할 수 있게끔 만들어서 문제가 되는 부분을 발견할 수 있게 도와줍니다. 이는 아래의 함수를 의도적으로 이중으로 호출하여 찾을 수 있습니다.
constructor
, render
그리고 shouldComponentUpdate
메서드getDerivedStateFromProps
static 메서드setState
의 첫 번째 인자)useState
, useMemo
그리고 useReducer
에 전달되는 함수