Frontory

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

Svelte · 05 조건 블록과 빈 화면

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

단계: 컴파일과 runes 기초 · 외부 실행 예제 · 미리보기 안내 · 저장 ID: svelte-step-05

목표와 학습 후 역량

선수 지식

5단위는 4단위 결과물과 실험 기록을 이어 사용합니다.

핵심 개념과 설명

조건부 생성

{#if}는 조건에 따라 하위 컴포넌트를 생성하거나 제거합니다. CSS 숨김과 달리 로컬 상태와 자원 수명에 영향을 줍니다.

빈 상태

결과가 없는 경우는 독립된 화면 상태입니다. 원인을 알려 주고 필터를 초기화할 동작을 제공하면 복구할 수 있습니다.

실습 준비

예제 화면의 실행 범위 안내를 먼저 확인하세요. 다음은 과제를 별도 프로젝트로 확장할 때의 준비 환경입니다. 별도 Svelte 5 Vite 프로젝트에서 .svelte 파일을 컴파일해 실행합니다. 패키지 버전과 lockfile을 기록하세요. Frontory의 Svelte 미리보기는 실제 writable와 명시적 DOM 어댑터이며 .svelte 컴파일러나 runes 실행기가 아닙니다.

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

실습 과제

  1. src/CardList.svelte에 {#if items.length}와 빈 안내를 작성하세요.
  2. 검색 결과가 없을 때 초기화 버튼을 보여 주세요.
  3. 필터를 지우고 원래 카드가 다시 나타나는지 확인하세요.

관찰할 변수

변수기준 조건바꿀 조건예상할 변화·검증 가설
검색 결과3개0개빈 안내와 초기화 버튼이 표시된다.

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

완료 조건

자가 점검

  1. 빈 결과와 데이터 요청 실패는 같은 상태인가요?
  2. {#if}로 숨긴 자식의 로컬 상태는 남나요?

공식 참고

연결된 예제와 실행 범위

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

미리보기는 Svelte writable/DOM 계약 실험입니다. runes·snippet·컴파일 결과는 실제 App.svelte를 Svelte 5 프로젝트에서 실행하세요.

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

다음 학습

이전: $derived로 필터 계산하기 · 다음: keyed each와 카드 정체성

실험 기록 — 직접 작성

목표

핵심 개념

바꾼 변수와 예상

실제 결과

배운 점

남은 질문

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