멋있게 컴포넌트 전환 애니메이션 주는법 강의에서 질문이 있어 여쭈어봅니다^^
<코드1>
위의 코드는
useEffect코드가 실행 되기전에 clean-up함수가 먼저 실행이 되야하는게 맞잖아요?
실행이 안되는 이유가 state가 동시에 변경 되니 react에서는 성능을 위해 한번에 묶어 렌더링을 한번만 시켜주기때문에
시간차를 둬야해서 setTimeout함수를 추가해서 짠 코드구 작동도 잘 됩니다.
그런데 왜 아래의 코드는 위에와 같은 맥락인데 setTimeout함수 없이 잘 작동하나요?
아래 코드도 automatic batching에 의해서 state가 동시에 변경되서 한번에 렌더링 되기떄문에 작동이 안되어야 하는거 아닌가요?
<코드2>