Frontory

코드 편집 · 실습 · 필기 열기 →

Motion · 14 Layout과 Exit

시리즈 목차 · 전체 기술 지도

단계: Layout과 Presence · 편집 가능한 예제 · 저장 ID: motion-02

목표와 학습 후 역량

선수 지식

13단위 「삭제 중 포커스」의 DOM 수명 및 포커스 복구 실습 결과를 준비한다.

핵심 개념과 설명

정렬과 제거

layout은 위치 변화를 다룬다. exit는 제거될 요소의 수명을 다룬다.

정체성

안정적인 key가 카드 상태를 보존한다. 빠른 연속 삭제는 퇴장과 정렬을 동시에 발생시킨다.

실습 준비

기존 motion-01·02·03은 Motion JS animate 기반의 제한된 예제다. React layout·AnimatePresence·hooks는 별도 로컬 React 프로젝트에 motion을 설치하고 motion/react에서 가져와 실습한다. 편집기에서 JSX가 바로 실행된다고 가정하지 않으며 CSP와 격리를 유지한다.

연결된 예제는 출발점입니다. 아래 과제 전체가 완성된 코드는 아니며, 예제의 지원 범위를 넘는 작업은 별도 프로젝트에서 수행하세요.

실습 과제

  1. 별도 실습 프로젝트의 src/day-14.tsx에 별도 React 앱에서 layout·AnimatePresence·ID key로 정렬·삭제 목록을 만든다. 기존 1·14·28단위 예제는 출발점으로만 참고한다.
  2. 입력 조건: 다른 메모가 있는 카드 5개. 기준: index. 기준 조건에서 실행한 뒤 관찰값과 오류를 notes/day-14.md에 남긴다.
  3. 변경 변수: key. 변경값: item.id. 같은 입력 경로로 다시 실행한다. 저장할 산출물: 정렬·연속 삭제 후 ID·메모·DOM 표. 확인할 가설: 남은 카드의 상태가 섞이지 않는다. 실제 결과와 비교해 일치 여부 및 차이의 원인을 기록한다.

관찰할 변수

변수기준 조건바꿀 조건예상할 변화·검증 가설
keyindexitem.id남은 카드의 상태가 섞이지 않는다.

표의 예상은 측정 결과가 아닙니다. 한 번에 한 조건만 바꾸고 실제 결과가 다르면 원인을 기록하세요.

완료 조건

자가 점검

  1. 이번 실습에서 정렬과 제거 개념은 어느 처리 단계에 영향을 주는가? 입력 사례: 다른 메모가 있는 카드 5개.
  2. 변경 변수: key. 확인할 가설: 남은 카드의 상태가 섞이지 않는다. 실제 결과가 가설과 일치했는가? 정체성 관점에서 근거를 설명하라.

공식 참고

연결된 예제와 실행 범위

예제 원본 · 실행 환경과 제한

원본 코드·기록은 자동으로 덮어쓰지 않습니다. 기존 예제를 초기화할 때도 필기는 유지됩니다.

다음 학습

이전: 삭제 중 포커스 · 다음: Hover와 Focus

실험 기록 — 직접 작성

목표

핵심 개념

바꾼 변수와 예상

실제 결과

배운 점

남은 질문

코드 편집 · 실습 · 필기 열기 →