setState의 비동기성

hongcoder·2020년 9월 13일
0

Front-end

목록 보기
8/12

setState 메소드는 즉시 실행되고 동기적으로 실행되는 것이 아닌 하나의 요청과 같은

비동기적 실행이다.

위의 코드는 기본값을 0이라고 가정했을 때 예상되는 결과값은 3이지겠지만

실제로는 마지막 중복된 코드 중 마지막 라인만 실행되는 1의 값을 갖는다.

setState에서 우리가 원하는 값을 확인하고 싶을 때는 updater함수를 사용하면 된다.

setState의 메소드의 첫 번째 인자로 updater를 넣으면 되고

두 번째 인자로 콜백을 넣으면 된다.
setState(updater, [callback]) *콜백은 비동기 후에 실행돼서 원하는 값 도출가능

profile
기록하지 않으면 기억되지않음🧐

0개의 댓글