react
关于
This React skill provides development standards and best practices for building high-quality React components. It covers functional components, hooks usage, state management patterns, and performance optimization techniques including memoization strategies. Use it when developing React components in JSX/TSX files, implementing state management, optimizing performance, or writing tests with React Testing Library.
技能文档
React Development Standards
컴포넌트 구조
파일당 컴포넌트 규칙
export되는 컴포넌트는 가능하면 하나만, 내부 사용 컴포넌트는 필요시 여러개 허용(권장하진 않음).
- export default 사용 금지 (리팩토링과 트리쉐이킹 문제)
- named export만 사용
- 내부 헬퍼 컴포넌트는 export 금지
- 컴포넌트 파일 내 순서: 메인 export 컴포넌트 → 추가 export 컴포넌트 → 내부 헬퍼 컴포넌트
상태 관리 규칙
상태 관리 계층
- 로컬 상태 (useState): 단일 컴포넌트에서만 사용
- Props Drilling: 최대 2단계까지만 허용
- Context API: 3단계 이상 prop drilling 필요시
- 전역 상태 (Zustand 등):
- 5개 이상 컴포넌트에서 공유
- 서버 상태 동기화 필요
- 복잡한 상태 로직 (computed, actions)
- 개발자 도구 지원 필요시
Hook 사용 규칙
커스텀 Hook 추출 기준
- 3개 이상의 useState/useEffect 조합
- 2개 이상의 컴포넌트에서 재사용
- 50줄 이상의 로직
useEffect 사용 최소화
- useEffect는 외부 시스템 동기화에만 사용
- 상태 업데이트는 이벤트 핸들러에서 처리
- 계산된 값은 useMemo 또는 컴포넌트 내 직접 계산
- 정말 필요한 경우만 사용하고 주석으로 이유 명시
// ❌ Bad: useEffect로 상태 동기화
useEffect(() => {
setFullName(`${firstName} ${lastName}`);
}, [firstName, lastName]);
// ✅ Good: 직접 계산
const fullName = `${firstName} ${lastName}`;
Props 규칙
공용 컴포넌트 Props 추가 규칙
- 새 prop 추가 전 구조 재검토 필수(공용 레벨의 무분별한 prop 추가 방지)
- 단일 책임 원칙 위반 여부 확인
- 3개 이상의 선택적 props는 composition 패턴 고려
- variant prop으로 통합 가능한지 검토
조건부 렌더링
기본 규칙
// 단순 조건: && 연산자
{isLoggedIn && <UserMenu />}
// 양자택일: 삼항 연산자
{isLoggedIn ? <UserMenu /> : <LoginButton />}
// 복잡한 조건: 별도 함수 또는 early return
const renderContent = () => {
if (status === 'loading') return <Loader />;
if (status === 'error') return <Error />;
return <Content />;
};
Activity 컴포넌트
- 숨겨진 부분을 미리 렌더링하거나 상태 유지가 필요한 경우 사용
- visible/hidden 모드로 관리
- 탭 전환, 모달 내용 등 자주 토글되는 UI에 활용
메모이제이션
React Compiler 사용
- 자동 메모이제이션에 의존
- 수동 메모이제이션(React.memo, useMemo, useCallback)은 특수한 경우에만 사용
- 컴파일러가 최적화하지 못하는 경우 escape hatch로 활용
快速安装
/plugin add https://github.com/KubrickCode/ai-config-toolkit/tree/main/react在 Claude Code 中复制并粘贴此命令以安装该技能
GitHub 仓库
相关推荐技能
evaluating-llms-harness
测试该Skill通过60+个学术基准测试(如MMLU、GSM8K等)评估大语言模型质量,适用于模型对比、学术研究及训练进度追踪。它支持HuggingFace、vLLM和API接口,被EleutherAI等行业领先机构广泛采用。开发者可通过简单命令行快速对模型进行多任务批量评估。
langchain
元LangChain是一个用于构建LLM应用程序的框架,支持智能体、链和RAG应用开发。它提供多模型提供商支持、500+工具集成、记忆管理和向量检索等核心功能。开发者可用它快速构建聊天机器人、问答系统和自主代理,适用于从原型验证到生产部署的全流程。
go-test
元go-test Skill为Go开发者提供全面的测试指导,涵盖单元测试、性能基准测试和集成测试的最佳实践。它能帮助您正确实现表驱动测试、子测试组织、mock接口和竞态检测,同时指导测试覆盖率分析和性能基准测试。当您编写_test.go文件、设计测试用例或优化测试策略时,这个Skill能确保您遵循Go语言的标准测试惯例。
project-structure
元这个Skill为开发者提供全面的项目目录结构设计指南和最佳实践。它涵盖了多种项目类型包括monorepo、前后端框架、库和扩展的标准组织结构。帮助团队创建可扩展、易维护的代码架构,特别适用于新项目设计、遗留项目迁移和团队规范制定。
