React에서 State의 불변성을 지켜야 한다.
불변성을 지킨다는 것이란 어떤 값을 변경할 때 그 값을 직접적으로 변경하지 않고
새로운 값을 새로 만들어서 변경하는 것을 의미한다.
useState에서 setState는 얕은 비교를 통해 상태 변화를 감지한다.
즉 참조값이 동일하다면 객체(배열) 안의 요소가 바뀌어도 감지되지 않는다.
비교를 할 때 값들을 하나하나 비교하는 것은 너무 많은 연산을 요구한다.
React는 성능 최적화를 위해 이 방법을 사용한다.