Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- pm2 시작
- datagridview 직접입력
- pm2 확인
- 맥 어드레스
- 공인IP
- pm2 상태 확인
- Replication
- html #select #option #multiple
- mySQL_Replication
- 1883
- DatePicker
- c# datagridview 데이터 넣기
- setInterval clear
- 데이터테이블 데이터 넣기
- mosquitto.conf
- AntDesign
- 서버동기화
- DataGridView 직접 입력
- pm2 설치
- allow_anonymouse
- invalid data
- map이 undefined가 뜰 때
- setInterval 중지
- listener 1883
- pm2
- mosquitto
- setInterval 정지
- setInterval 외부 정지
- transfer
- timepicker
Archives
- Today
- Total
개발 노트
useState에서 동일한 변경함수 각각 실행시키는 법 본문
리액트 18버전 이상부터는 automatic batch 라는 기능이 생겼다.
동일한 state 변경함수들이 연달아서 여러개 처리되어야한다면
동일한 state 변경함수를 다 처리하고 마지막에 한 번만 재렌더링된다.
// ex
const plus = ()=>{
setNum(num*2);
console.log('num 곱하기: ', num);
setNum(num+1);
console.log('num 더하기:', num);
}
위 코드는 마지막 setNum(num+1)만 실행되어 num값이 +1만 증가한다.
변경함수를 각각 실행하고 싶다면, 변경함수(콜백함수) 이렇게 코드를 작성해서 콜백함수 첫번째 인자에 값을 넣으면 이전 state값이 들어간다.
// ex
const plus = ()=>{
setNum((prev)=>{
console.log('num곱하기: ', prev*2);
return prev * 2;
})
setNum((prev)=>{
console.log('num더하기: ', prev+1);
return prev + 1;
})
}
'React' 카테고리의 다른 글
useEffect (0) | 2023.08.27 |
---|---|
useRef (0) | 2023.08.27 |
비구조화 할당 문법으로 props 추출 (0) | 2023.08.26 |
props - default, children (0) | 2023.08.26 |
react 하위 컴포넌트에서 상위 컴포넌트로 값 전달하는 법 (0) | 2023.08.24 |