배열 재배치
배열 필드 상태가 어려운 이유는 인덱스가 경로이면서 위치이기 때문입니다. 사용자가 items[2].name을 수정한 뒤 그 항목을 index 0으로 옮기면 오류와 touched 메타데이터는 항목을 따라가야 합니다. FormArray 명령은 이 동작을 만들기 위해 문서화된 방법입니다.
const items = form.array(['items']);
items.move(2, 0);
items.swap(0, 1);
items.remove(1);keys()는 안정적인 렌더 정체성을 제공하고, 경로는 계속 현재 인덱스를 사용합니다. replace()는 새 배열 값 기준으로 자식 필드 상태를 재설정합니다. 메타데이터 보존이 중요하면 수동 setValue(['items'], nextItems)보다 이 명령들을 우선하세요. 완전히 다른 데이터를 새로 불러오는 상황에서는 수동 교체도 괜찮을 수 있습니다.
언제 중요해지나
대부분의 애플리케이션은 빠른 시작과 가이드에서 시작하면 충분합니다. 재사용 추상화를 만들거나, 경계 사례를 디버깅하거나, Form이 더 큰 프레임워크 뒤에 숨기지 않고 명시적 경로, 중립적인 스키마 계약, 안정적인 키, 정규화 상태를 선택한 이유를 설명해야 할 때 이 문서를 읽으세요.