react
CHAPTER 4 / 34
읽기 약 2분
SYNTAX
AI 프롬프트로 React 200% 활용하기
핵심 개념
React를 배우면서 AI를 코딩 파트너로 쓰는 11개 실전 프롬프트. 4단계 공식으로 AI 답변 품질을 극적으로 끌어올린다.
본문
이 챕터는 React를 배우면서 AI를 코딩 파트너로 활용하는 11개 프롬프트를 제공합니다. 각 프롬프트마다 ❌나쁜 예와 ✅좋은 예를 비교합니다.
💡 4단계 공식
1. 역할: React를 배우는 학생/주니어
2. 맥락: 어떤 컴포넌트/Hook/에러
3. 지시: 구체적 요구사항
4. 형식: 코드+주석 / before-after🟢 기초 (1~4)
1. 컴포넌트 + props
❌ React 컴포넌트 알려줘
✅
함수형 컴포넌트 + props 분해 할당 + 기본값 +
TypeScript 타입까지 포함한 Card 컴포넌트를 만들어줘.
사용 예시 + JSX 핵심 문법 주석 추가.2. useState
❌ useState 어떻게 써?
✅
useState의 setter가 받는 3가지 형태(값/함수형/객체 spread)를
각각 예시 코드로 보여주고, '이전 값에 의존할 때'와
'배치 업데이트' 시 주의점을 비교해줘.3. 이벤트 처리
❌ React 이벤트
✅
React의 SyntheticEvent와 native event의 차이를
표로 정리하고, e.preventDefault / e.stopPropagation /
e.target vs e.currentTarget 차이를 코드로 보여줘.4. 조건부 렌더링 + 리스트
❌ 리스트 만들기
✅
조건부 렌더링 4가지(&&, 삼항, early return, switch)와
리스트 렌더링에서 key가 왜 인덱스가 아니라 id여야 하는지를
잘못된 예 vs 올바른 예 코드 비교로 보여줘.🟡 중급 (5~8)
5. useEffect + API
❌ useEffect로 데이터 가져오기
✅
useEffect로 API 데이터를 받는 컴포넌트를 만들어줘.
포함: 의존성 배열 / AbortController로 취소 /
로딩 스켈레톤 / 에러 폴백 / strict mode 더블 호출 대응.6. 커스텀 훅
❌ 커스텀 훅 만들기
✅
useFetch, useDebounce, useLocalStorage 3가지 커스텀 훅을
각각 만들어줘. 각 훅의 시그니처/사용 예시/
주의점(메모리 누수, SSR 호환성)을 주석으로.7. React Router
❌ React Router 사용법
✅
React Router v6로 멀티 페이지 SPA를 설계해줘.
중첩 라우트 / 동적 파라미터 / 보호 라우트(인증) /
useSearchParams로 URL과 상태 동기화 / 404 처리.8. 폼 + 유효성 검사
❌ 폼 만들기
✅
React Hook Form + Zod로 회원가입 폼을 만들어줘.
포함: 클라이언트 검증 / 서버 에러 매핑 /
실시간 검증 / 접근성(label, aria-invalid) /
비동기 검증(이메일 중복 확인).🔵 심화 (9~11)
9. 전역 상태 (Zustand)
❌ 상태 관리 알려줘
✅
Zustand로 다크 모드 + 인증 + 장바구니 3가지 스토어를 설계해줘.
각 스토어의 분리 기준 / persist 미들웨어 / SSR 호환 /
immer로 불변성 / TypeScript 타입 추론까지.10. 성능 최적화
❌ React 성능 최적화
✅
React 성능 병목 5가지를 진단·해결하는 패턴을 정리해줘.
불필요 리렌더 / 큰 리스트 / 무거운 계산 / 라우트 /
번들 크기. 각각 React.memo / virtualization /
useMemo / lazy / dynamic import 코드 예시.11. 테스트 (Testing Library)
❌ React 테스트
✅
Testing Library + Vitest로 폼 컴포넌트의 단위 테스트를 작성해줘.
포함: getByRole 우선 / 사용자 인터랙션(userEvent) /
비동기 어설션(findBy) / 모킹(MSW) / accessibility 검사.
TDD 흐름으로.⚠️ 주의사항
- AI 코드 그대로 복붙하지 말 것 — 한 줄씩 이해
- React 19 vs 18 버전 차이 확인 — AI가 옛날 API를 줄 수 있음
- 콘솔 경고는 무시하지 말 것 — Strict Mode 의도가 담겨 있다
- 주 2회는 AI 없이 React 작성 — 기초 체력이 진짜 실력
💻 프롬프트 품질 비교
// ❌ 나쁜 프롬프트: 'useEffect로 데이터 가져와줘'
function BadComp({ id }) {
const [data, setData] = useState(null);
useEffect(() => { fetch(`/api/${id}`).then(r => r.json()).then(setData); }, [id]);
return <div>{data?.name}</div>;
}
// 문제: 취소 없음, 에러 무시, 로딩 모름, 의존성 누락 가능
// ✅ 좋은 프롬프트: 모든 엣지 케이스 + 취소 + 로딩
function GoodComp({ id }) {
const [state, setState] = useState({ data: null, loading: true, error: null });
useEffect(() => {
const ctrl = new AbortController();
setState({ data: null, loading: true, error: null });
fetch(`/api/${id}`, { signal: ctrl.signal })
.then(r => r.ok ? r.json() : Promise.reject(`HTTP ${r.status}`))
.then(data => setState({ data, loading: false, error: null }))
.catch(err => err.name !== 'AbortError' && setState(s => ({ ...s, loading: false, error: err })));
return () => ctrl.abort();
}, [id]);
if (state.loading) return <Skeleton />;
if (state.error) return <ErrorBox onRetry={() => setState({ ...state, loading: true })} />;
return <div>{state.data?.name}</div>;
}
/*
📊 비교:
| 항목 | ❌ 나쁜 | ✅ 좋은 |
| 취소 | 없음 | AbortController |
| 로딩 UX | 깜빡임 | Skeleton |
| 에러 | 무시 | ErrorBox + retry |
| strict 더블 호출 | 중복 fetch | cleanup으로 취소 |
→ 프롬프트의 구체성이 코드 품질을 결정합니다!
*/AI 프롬프트
🤖 AI에게 잘 물어보는 법 — 모델·전략별 프롬프트
Claude
무료: Sonnet 4.6 / Pro $20/mo: Opus 4.6
내가 만든 React 컴포넌트에 AI를 활용해서 리렌더링·메모리 누수·접근성을 자동 점검받는 프롬프트 템플릿 3종을 설계해줘.
ChatGPT
무료: GPT-5.5 / Plus $20/mo: GPT-5.5 Pro
React 학습에 ChatGPT를 활용하는 실전 시나리오 5가지(컴포넌트 설계, 디버깅, 최적화, TS 전환, 테스트)를 바로 쓸 수 있는 프롬프트와 함께 보여줘.
Gemini
무료: 2.5 Flash / Pro $19.99/mo: 3.1 Pro
React 코드 전체를 AI로 분석할 때 Claude/ChatGPT/Gemini/Grok 각각의 강점과 적합한 프롬프트 패턴을 비교 정리해줘.
Grok
무료: Grok 4.1 / SuperGrok $30/mo
2026년에 AI 코드 어시스턴트로 React를 배우는 게 공식 문서·강의보다 빠른지, 어떤 한계가 있는지 솔직히 평가해줘.
⭐ 이것만 기억하세요
AI 프롬프트로 React 200% 활용하기는 이 3가지만 확실히 잡으세요
1.프롬프트 4단계 공식: 나쁜 예/좋은 예 비교로 React 코드 품질 극적 향상
2.11개 프롬프트: 기초(컴포넌트·Hook) → 중급(useEffect·Router·폼) → 심화(Zustand·성능·테스트)
3.AI 코드는 한 줄씩 이해 + 주 2회는 AI 없이 작성 — 기초 체력이 진짜 실력
공유하기
진행도 4 / 34