state prev를 알아보자
버튼을 클릭하면 카운트가 올라가는 함수를 만들었다.
여기서 버튼을 클릭하면 5씩 올라갈까? 아니다. 1씩 올라간다.
만약 값이 바뀔때마다 화면이 리렌더링이 된다면 굉장히 비효율적이기 때문에 임시저장소에 잠깐 축적해두고 있다가 임시저장공간을 바꿔준다.그래서 두번째 count가 +1이 되어도 Count의 실제 값이 변화되는게 아니라 임시저장공간이 바뀌어서 결국 1만 올라가게 된다.
그럼 + 해준만큼 올라가려면 어떻게 해야될까?
임시저장공간에 전에 값을 가지고와서 거기에 +를 해주면 된다.
함수안에서 +해준만큼 올라가려면 사진처럼 콜백함수를 써주면 된다.
해석을 하면 prev에 1이 넣어지고 Count 임시저장공간에 들어간 1에 +1을 더해주고 이렇게 4번 반복한다. 결과값은 버튼을 한번 눌러주면 4씩 올라가게된다.
리렌더링은 첫번째 사진과 같이 마지막에 한번 하게 되지만 결과는 이렇게 바뀐다.