inflearn logo
강의

Course

Instructor

Learn React.js with Projects

07 useState

state가 업데이트되는 기준이 궁금합니다.

Resolved

300

dororong

7 asked

0

리렌더링하기 전에 state를 한번에 업데이트 시켜준다고 하셨는데

 const [number, setNumber] = useState(1);
 const double = () => {
  setNumber(number * 2);
  console.log(number);
 };

여기서 state는 number 하나밖에 없는데 double을 실행했을 때 왜 2배가 된 number값이 찍히지 않는거죠? state를 한번에 업데이트시켜주는데 어차피 state가 하나니까 number값이 업데이트되고, 그게 콘솔에 찍힐 것 같은데 말이죠..

 

그리고 만약 const [number1, setNumber1] = useState(1);도 있다고 가정하면

 setNumber(number * 2);
 setNumber1(number1 * 2);
 console.log(number);

위와 같은 경우에 코드는 위에서부터 실행되니까 number와 number1 둘다 업데이트가 된 다음에 콘솔이 찍히는거라 number가 2배된 값일 것 같은데 아닌 이유는 뭐죠? console.log가 set함수보다 먼저 찍히는건가요?

 

답변 미리 감사드립니다!

react useState

Answer 1

0

kossiecoder

set을 사용하면 비동기적으로 실행됩니다

set 함수가 실행되고 그 다음줄에 console.log는 동기적으로 실행되므로 console.log가 먼저 실행 되게 됩니다

UserEffect 빈 배열 사용 질문입니다

0

132

2

Pagination 페이지 별 데이터 불러오기 오류

0

247

1

설명이 부족 한 듯..

0

292

1

pagination nav가 안보여요

0

213

1

블로그 낫 파운드 ㅠㅠ

0

242

1

return (<div></div>)

0

426

2

useState 에 대해

0

212

1

에러떠요..

0

525

2

useCallback 의존성 배열

0

367

1

인자가 필수로 들어가야 하는지 궁금합니다

0

393

1

AxiosError: Network Error가 뜹니다

0

11295

3

리액트 설치하려고 하니 에러가 뜹니다

0

299

1

23강 localhost 질문드립니다!!

0

587

5

renderBlogList 함수는 순수함수가 아니어도 괜찮은가요?

0

283

1

페이지네이션 버그 있습니다.

0

398

1

글 삭제 기능 구현 방법

0

311

1

react-router-dom 버전 업그레이드에 따른 문제

0

408

1

id가 두번 찍혀요

0

264

2

error handling 2 => ShowPage.js, BlogForm.js에서 에러가 납니다.

0

459

2

에러 핸들링에서 토스트가 2개씩 뜹니다..

0

435

2

36 블로그 db에서 받아와서 화면에 보여주기 에서

0

265

1

13번째 DB에 저장을 따라하고 있습니다.

0

405

2

useParams 가 동작하지 않습니다.

0

811

2

toastSlice를 store에등록할 때 질문있습니다.

0

253

1