React | setState는 비동기함수!

권기현·2020년 3월 1일
0

React

목록 보기
1/4

setState는 비동기 함수이다!

이게 무슨말이냐? => setState는 바로 처리되는 함수가 아닌 얼마가 걸릴지 모르는 하나의 요청이다!

예를들면,


handleChange (e) {
this.setState({name : e.target.value})
console.log(this.state.name)
}

라고 작성된 코드에서는 console.sole에 setState로 업데이트 된 state값이 찍히는 것이 아닌, 이전 값이 찍힌다.

동기는 내가 쓴 어떤 코드가 그 일이 끝날때까지 기다리는 것이 동기이다.
(forEach() Map() 등은 다 처리될 때 까지 그 문장에 멈춰있다.)

비동기는 (예를 들면, fetch(), setState()) 는 일단 요청을 보내고 바로 다음줄로 진행이 넘어갔다가 끝나면 다시 돌아온다.

callBack함수(cb)는? 인자인데 그 인자가 함수인 경우!

setState를 하고 this.State.value 로 그 값이 잘 바꼈나 볼려고 하지말고!
setState로 들어오는 값을 확인하면 된다~! => 예를 들면 "e"를 인자로 두었다면,

console.log(e.target.value) 를 통해 함수 안에서 e의 값이 잘 들어오는지 확인한다.

profile
함께 일하고 싶은 개발자를 목표로 매일을 노력하고, 옷을 좋아하는 권기현 입니다.

0개의 댓글