<img/>, <input/>)function App() {
const [state, setState] = useState(0);
const onClick = () => {
setState(state + 1);
console.log(state);
//setState((cur) => cur + 1) 위의것보다 더 안전한 계산값
};
return (
<div className="App">
<h1>Total {state}</h1>
<button onClick={onClick}>Click</button>
</div>
);
}
onClick안의 console.log(state)는 이전 state값을 출력한다.
(리렌더링 된 state값과 다른경우는 setState가 비동기이기 때문이다.)
변경되는 state가 많을 경우 리렌더링이 반복되고 속도도 저하되기에 변경된 값을들 모아 한번에 업데이트를 진행하기 위해 배치 기능을 사용해 비동기로 작동한다.
한번 들었던 강의를 전체적으로 다시 들으면서 복습하니까 좋은거 같다
setState의 경우에 예전엔 따라하기 급급해 이론까지 완벽히 기억하지는 못했는데 다시 천천히 강의를 들어보면서 비동기적으로 작동한다는 개념을 확실히 익혔다.