React · 05 조건부 화면과 빈 상태
단계: 컴포넌트와 상태 계산 · 편집 가능한 예제 · 저장 ID: react-step-05
목표와 학습 후 역량
- 결과 0개일 때 안내가 정확히 한 번 나온다.
- 초기화 후 카드 3개가 복원된다.
선수 지식
5단위는 4단위 결과물과 실험 기록을 이어 사용합니다.
핵심 개념과 설명
조건부 렌더
조건에 따라 JSX를 선택하면 존재하는 컴포넌트가 달라집니다. 숨김 CSS와 제거는 수명주기가 다릅니다.
빈 상태
검색 결과 0개는 오류가 아닌 유효한 상태입니다. 숫자 0을 && 앞에 쓰면 화면에 0이 표시될 수 있습니다.
실습 준비
예제 화면의 실행 범위 안내를 먼저 확인하세요. 다음은 과제를 별도 프로젝트로 확장할 때의 준비 환경입니다. 별도 React Vite 프로젝트의 JSX 실습입니다. Node와 패키지 버전·lockfile을 기록하고 프로젝트 개발 서버에서 실행하세요. 내장 편집기는 범용 JSX 컴파일러가 아닙니다.
연결된 예제는 출발점입니다. 아래 과제 전체가 완성된 코드는 아니며, 예제의 지원 범위를 넘는 작업은 별도 프로젝트에서 수행하세요.
실습 과제
- src/CardList.jsx에서 결과가 없을 때 안내 문장을 출력하세요.
- 필터 입력에 일치하지 않는 문자열을 넣고 초기화 버튼을 연결하세요.
- 결과 수 조건을 명시적 비교로 바꾸고 0이라는 불필요한 텍스트가 없는지 확인하세요.
관찰할 변수
| 변수 | 기준 조건 | 바꿀 조건 | 예상할 변화·검증 가설 |
|---|---|---|---|
| 검색어 | 빈 문자열 | 없는 제목 | 목록 대신 빈 상태와 초기화 버튼을 표시한다. |
표의 예상은 측정 결과가 아닙니다. 한 번에 한 조건만 바꾸고 실제 결과가 다르면 원인을 기록하세요.
완료 조건
- 결과 0개일 때 안내가 정확히 한 번 나온다.
- 초기화 후 카드 3개가 복원된다.
자가 점검
- CSS로 숨긴 에디터는 상태를 잃나요?
- 빈 결과와 요청 실패를 왜 구분하나요?
공식 참고
연결된 예제와 실행 범위
실제 React API 실험입니다. JSX 대신 createElement를 사용합니다.
원본 코드·기록은 자동으로 덮어쓰지 않습니다. 기존 예제를 초기화할 때도 필기는 유지됩니다.
다음 학습
이전: 객체와 배열 갱신 · 다음: 목록의 key와 정체성