react에서 setState는 상태값 변화를 위해 사용한다.
그러나 setState가 비동기적으로 일어나기 때문에 아래와 같이 코드를 작성하면 this.state.count의 값이 +1을 하기 전의 값이 나올 수도 있다.1
2
3this.setState({
count: this.state.count + 1,
});
그래서 함수형 setState를 사용한다.
1 | this.setState(prevState => { |
기존에 객체를 복사한 다음에 업데이트한 값을 setState하는 방식이다.
1 | let all = Object.assign({}, this.state.all); |
기존의 Object.assign
을 대신해서 아래와 값이 사용하면 된다.1
2
3
4
5
6this.setState(prevState => ({
all: {
...prevState.all,
name: 'hi',
}
}))
function tabHandler (index) P
return function tabClickEvent(event) P
conosle.log(index);
{
}