Frontory

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

React · 19 비동기 상태를 명시하기

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

단계: 필기 보존과 렌더 측정 · 편집 가능한 예제 · 저장 ID: react-step-19

목표와 학습 후 역량

선수 지식

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

핵심 개념과 설명

상태 모델

idle·loading·success·error를 하나의 상태로 표현하면 모순을 줄입니다. loading과 error를 독립 boolean으로 두면 동시에 켜질 수 있습니다.

재시도

실패 화면은 원인과 다시 실행할 동작을 제공해야 합니다. 요청 시작 시 이전 실패를 어떻게 처리할지 규칙을 정합니다.

실습 준비

예제 화면의 실행 범위 안내를 먼저 확인하세요. 다음은 과제를 별도 프로젝트로 확장할 때의 준비 환경입니다. 별도 React Vite 프로젝트의 JSX 실습입니다. Node와 패키지 버전·lockfile을 기록하고 프로젝트 개발 서버에서 실행하세요. 내장 편집기는 범용 JSX 컴파일러가 아닙니다.

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

실습 과제

  1. src/loadState.js에 status 기반 상태 전환을 정의하세요.
  2. Search.jsx에서 성공·빈 결과·실패를 서로 다른 화면으로 렌더하세요.
  3. 실패하는 fakeSearch를 한 번 실행한 뒤 재시도로 성공시키세요.

관찰할 변수

변수기준 조건바꿀 조건예상할 변화·검증 가설
응답 종류성공 배열실패 후 성공오류 안내 뒤 재시도하면 성공 목록으로 전환한다.

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

완료 조건

자가 점검

  1. 빈 배열은 success인가요 error인가요?
  2. 새 요청 중 이전 결과를 유지할지 어떻게 결정하나요?

공식 참고

연결된 예제와 실행 범위

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

실제 React API 실험입니다. JSX 대신 createElement를 사용합니다.

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

다음 학습

이전: 컴포넌트 합성과 children · 다음: 전환과 지연된 결과

실험 기록 — 직접 작성

목표

핵심 개념

바꾼 변수와 예상

실제 결과

배운 점

남은 질문

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