데이터 의미 선택
id로 찾을 단일 엔티티 묶음인지, 순서와 반복을 보존해야 하는 목록인지 구분한다.
객체와 배열은 조회 방식이 다르다객체는 속성 이름으로 값을 묶고 배열은 순서 있는 목록을 다룬다는 설명만으로는 부족하다. 실제 웹 코드에서는 중첩 데이터, 참조 복사, 얕은 복사, mutation, map/filter/reduce의 반환 규칙을 이해해야 상태 버그를 줄일 수 있다.
id로 찾을 단일 엔티티 묶음인지, 순서와 반복을 보존해야 하는 목록인지 구분한다.
객체와 배열은 조회 방식이 다르다사용자, 주소, 주문 목록처럼 중첩된 객체와 배열의 변경 범위를 표시한다.
깊은 구조는 업데이트가 어려워진다spread와 slice가 얕은 복사라는 점을 이해하고 중첩 객체 참조를 확인한다.
겉만 새 객체여도 안쪽은 같을 수 있다map은 변환, filter는 선택, reduce는 누적처럼 반환 의미에 맞게 고른다.
forEach는 새 배열을 반환하지 않는다React 상태처럼 변경 감지가 필요한 곳에서는 원본 mutation을 피하고 새 참조를 만든다.
push 후 같은 배열을 set하면 변화가 안 보일 수 있다