React 프로젝트에 Storybook 설정하기
Storybook을 설치하고 Vite 또는 CRA용으로 구성한 뒤 컴포넌트 탐색기를 살펴봅니다.
React 프로젝트에 Storybook 설정하기은(는) CoddyKit의 무료 React Academy 강의입니다. 이것은 4개 중 1번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 React Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. React Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
스토리북이란 무엇인가요?
스토리북은 사용자 인터페이스 구성 요소를 독립적으로 개발하고 문서화하며 테스트하기 위한 도구입니다. 각 스토리는 구성 요소의 특정 상태를 나타내며, 전체 앱을 실행하지 않고도 스토리북 사용자 인터페이스에서 볼 수 있습니다.
설치
리액트 프로젝트에서 스토리북 초기화 명령을 실행합니다. 프레임워크(Vite, CRA, Next.js)를 자동으로 감지하고 구성을 생성합니다.
# For a Vite + React project:
npx storybook@latest init
# This creates:
# .storybook/main.ts
# .storybook/preview.ts
# src/stories/ (example stories)스토리북 시작하기
스토리북의 개발 서버를 6006 포트에서 실행합니다. 브라우저에서 구성 요소 탐색기가 열립니다.
npm run storybook
# or
npx storybook dev -p 6006.storybook/main.ts 구성
main.ts는 스토리북이 스토리를 찾을 위치, 불러올 애드온, 사용할 프레임워크를 지정합니다.
import type { StorybookConfig } from '@storybook/react-vite';
const config: StorybookConfig = {
stories: ['../src/**/*.stories.@(ts|tsx)'],
addons: [
'@storybook/addon-essentials',
'@storybook/addon-interactions',
],
framework: {
name: '@storybook/react-vite',
options: {},
},
};
export default config;.storybook/preview.ts 구성
preview.ts는 전역 데코레이터(예: 모든 스토리를 프로바이더로 감싸는 데코레이터)를 적용하고 배경색과 같은 전역 매개변수를 설정합니다.
import type { Preview } from '@storybook/react';
import '../src/index.css'; // global styles
const preview: Preview = {
parameters: {
backgrounds: {
default: 'light',
values: [{ name: 'light', value: '#fff' }, { name: 'dark', value: '#333' }],
},
},
decorators: [
(Story) => (
<ThemeProvider theme={defaultTheme}>
<Story />
</ThemeProvider>
),
],
};
export default preview;컨텍스트용 데코레이터 추가하기
preview.ts에서 데코레이터를 사용하여 모든 스토리를 필요한 프로바이더(라우터, 테마, 국제화)로 감쌉니다. 그러면 스토리마다 이를 개별적으로 가져올 필요가 없습니다.
decorators: [
(Story) => (
<MemoryRouter>
<QueryClientProvider client={new QueryClient()}>
<Story />
</QueryClientProvider>
</MemoryRouter>
),
],스토리북 사용자 인터페이스 탐색하기
사이드바는 구성 요소별로 스토리를 그룹화합니다. 스토리를 클릭하면 캔버스에서 볼 수 있습니다. 문서 탭에는 TypeScript 속성에서 자동으로 생성된 API 문서가 표시됩니다.
정적 스토리북 만들기
스토리에서 정적 HTML 사이트를 빌드하여 Chromatic, GitHub Pages 또는 CDN에 호스팅합니다.
npm run build-storybook
# Output in storybook-static/디자인 시스템 문서용 스토리북
스토리북은 디자인 시스템의 살아 있는 문서로서 뛰어난 기능을 제공합니다. 필수 기능에 포함된 @storybook/addon-docs를 추가하면 TypeScript 타입에서 속성 표와 사용 예시를 자동으로 생성합니다.
핫 모듈 교체
스토리북은 HMR을 지원합니다. 구성 요소나 스토리 파일을 편집하면 전체 페이지를 다시 로드하지 않아도 스토리북 캔버스가 즉시 업데이트됩니다.
TypeScript 지원
@storybook/react-vite 프레임워크는 TypeScript를 우선적으로 지원합니다. 완전히 타입이 지정된 스토리를 만들려면 Meta와 StoryObj 제네릭을 사용합니다.
import type { Meta, StoryObj } from '@storybook/react';
import { Button } from './Button';
const meta: Meta<typeof Button> = {
component: Button,
};
export default meta;
type Story = StoryObj<typeof Button>;
export const Primary: Story = { args: { label: 'Click me' } };빠른 확인
모든 스토리를 프로바이더로 감싸는 것과 같은 전역 데코레이터를 적용하는 스토리북 구성 파일은 무엇인가요?
요약
npx storybook init을 실행하여 스토리북을 설정하고, preview.ts에서 전역 프로바이더를 구성하며, main.ts에 애드온을 추가합니다. 타입이 지정된 스토리에는 Meta와 StoryObj 제네릭을 사용하고, 공유를 위해 build-storybook으로 정적 사이트를 빌드하십시오.
자주 묻는 질문
“React 프로젝트에 Storybook 설정하기” 강의는 무료인가요?
네 — “React 프로젝트에 Storybook 설정하기” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 React Academy 강의 전체를 잠금 해제할 수 있습니다. React Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
“React 프로젝트에 Storybook 설정하기”에서 뭘 배우나요?
Storybook을 설치하고 Vite 또는 CRA용으로 구성한 뒤 컴포넌트 탐색기를 살펴봅니다. 브라우저에서 직접 실행하는 실습 코드로 React Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.
React Academy을(를) 시작하는 데 경험이 필요한가요?
사전 경험은 필요하지 않습니다. CoddyKit의 React Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 1번째 강의입니다.
“React 프로젝트에 Storybook 설정하기” 강의는 얼마나 걸리나요?
대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.
이 React Academy 강의에서 코드를 작성하고 실행할 수 있나요?
네. 모든 React Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.
이 강의의 모든 강의
- React 프로젝트에 Storybook 설정하기
- CSF3 스토리 작성하기
- 인수, 컨트롤과 Actions 애드온
- Storybook 테스트와 시각적 회귀