본문 바로가기

React/이론 및 용어2

[react] state 는 setState 후 바로 수정되지 않는다! 컴포넌트에 클릭 시, check 라는 state 를 변경하는 버튼을 만들었다 근데... setCheck 수정 함수 뒤에 console.log 로 찍어보니 엥! 버튼 클릭 뒤에선 수정되지 않은 초기값 그대로잖아? 의심이 가는 부분이 있어서 useEffect 로 check 를 감시하여 콘솔로그로 찍어보았는데 useEffect 에는 check state의 변경이 제대로 적용이 되어있다 ??!! 아하? 그렇다! 저번에도 계속 말한 내용이지만 automatic Batching 에 의해서 바로 state 가 변경되지 않고, 컴포넌트 함수가 모두 실행되기 전까지는 state 변경 사항들을 적용하지 않는 것이다! state 가 변경 되고 나서야 useEffect 가 실행되어서 감시하는 state 가 있는지 등등의 us.. 2022. 12. 6.
[React] Automatic Batching automatic 자동 + batching 묶기 = (랜더링 전 state 변경 사항을) 자동으로 묶어주는 기능! 위의 이름의 정의대로의 기능을 가진 react 18 의 새 기능이다 이전부터 궁금한게 있었다 아래와 같은 구문에서 setA((a) => a+1) setB((b) => b+1) 상태가 변경되면 새로 랜더링 되는건 알고 있었는데 상태 변경 코드 라인에서 바로 새로 랜더링 되는지, 아니면 일단 상태 변경 사항을 모아뒀다가 구문 종료 후에 모아둔 변경 사항을 읽어서 새로 랜더링 하는지, 랜더링 시점을 확실하게 알지 못했었다 물론 위의 코드는 a 뿐 아니라 b 의 상태도 바꿀것이라고 알았지만, a의 상태 변경이 감지되면 바로 랜더링 된다면 실제로는 b 변경까지 코드가 실행 못하지 않나? 마치 retu.. 2022. 12. 3.