setTimeout(function(){
console.log("hello world")},100)
setTimeout(() =>{
console.log("hello world")},100)
state를 쓰는 이유는 DOM을 리렌더링하기 위함이고
props가 100개인 object를 state로 쓰고 있다고 가정
user['emotion'] = 'happy'
매번 100개를 다 살펴볼 수도 없으며
그냥 state는 새로 업데이트 할때
내용을 살펴서 변화를 감지하는 것이 아니라
state의 메모리 주소가 이전과 달라졌는지만 보고 rerendering
그래서 항상 사본으로 새로운 주소값을 갖는 state를 써야함