인프런 커뮤니티 질문&답변
counter, setCounter
작성
·
189
3
안녕하세요! 질문이 있습니다.
연타했을 때 counter와 setCounter가 가리키는 counter가 서로 달라지는 이유가 뭔가요? 처리되는 시간이 연타를 못 따라가서 그런 것인가요..??
퀴즈
JavaScript에서 `fetch` API의 주된 목적은 무엇일까요?
DOM 요소를 선택하고 조작합니다.
외부 서버에서 데이터를 비동기적으로 가져옵니다.
사용자 입력 이벤트를 처리합니다.
로컬 스토리지를 관리합니다.
답변 1
10
진유림
지식공유자
좋은 의문점이에요~
리액트가 성능을 위해서 여러 state호출을 한꺼번에 묶어서 처리하기 때문입니다.
그래서 기존값을 counter로 참고하고 5번 연타하면 setCounter자체는 5번 불리지만 기존 counter가 아직 업데이트가 안 된 값들을 가져와서 +5가 안되는거예요.
그래서 기존값을 명확히 가져오기 위해선 함수를 통해 받아오셔야 합니다.
이 문서 참고해보셔도 좋을거예요.
https://ko.reactjs.org/docs/state-and-lifecycle.html#state-updates-may-be-asynchronous





