Storybook
2025๋ 8์ 26์ผ
- Storybook์ด๋?
- Storybook์ ์ปดํฌ๋ํธ๋ฅผ ์๊ฐ์ ์ผ๋ก ๋ฌธ์ํํ๊ณ ํ ์คํธํ ์ ์๋ ๋๊ตฌ
- React, Vue ๋ฑ ๋ค์ํ ํ๋ ์์ํฌ๋ฅผ ์ง์
- UI ์ปดํฌ๋ํธ๋ฅผ ๊ธฐ๋ฅ ๋จ์๋ก ๊ด๋ฆฌ, ํ ์คํธ, ๊ณต์ ํ๊ธฐ ์ข๋ค.
ย
ย
- ์ ์ฌ์ฉํ๋๊ฐ?
- ์ปดํฌ๋ํธ ๋จ์ ๊ฐ๋ฐ์ ์ง์ค
- ๊ธฐ์กด์๋ ํ์ด์ง ์ ์ฒด์์๋ง ์ปดํฌ๋ํธ๋ฅผ ํ์ธํ ์ ์์์ง๋ง, Storybook์ ์ฌ์ฉํ๋ฉด ํด๋น ์ปดํฌ๋ํธ๋ง ๋ผ์ด๋ด์ ํ ์คํธํ๊ฑฐ๋ ์คํ์ผ์ ์กฐ์ ํ ์ ์๋ค.
- ๋์์ด๋์ ํ์
์ ์ ๋ฆฌ
- ์ฐ๋ฆฌ๊ฐ ๋ฐฑ์๋ ๊ฐ๋ฐ์์๊ฒ ์ค์จ๊ฑฐ ๋ฌธ์๋ฅผ ์ ๋ฌ๋ฐ์ ์์ ํ๋ ๊ฒ๊ณผ ๊ฐ์ด, ํ๋ก ํธ์๋ ๊ฐ๋ฐ์๊ฐ ๋์์ด๋์๊ฒ ์ค์ ๋ก ๊ตฌํ๋ ์ปดํฌ๋ํธ๋ฅผ ์๊ฐ์ ์ผ๋ก ๋ณด์ฌ์ค ์ ์๋ค.
- ์ปดํฌ๋ํธ๋ง๋ค ๋ค์ํ ์ํ(hover, error, loading ๋ฑ)์ ํ๋์ ํ์ธํ ์ ์์ด ์์ฌ์ํต์ด ์ํํด์ง๋ค.
- ์ปดํฌ๋ํธ ๋จ์ ๊ฐ๋ฐ์ ์ง์ค
ย
ย
- ์ด๋ค ๊ธฐ๋ฅ๋ค์ด ์๋๊ฐ?
๊ธฐ๋ฅ | ์ค๋ช |
Docs | ์๋ ๋ฌธ์ํ (props ์ค๋ช , ์ฌ์ฉ ์์๋ฑ) |
Controls | props๋ฅผ ์ค์๊ฐ์ผ๋ก ์กฐ์ ํด๋ณด๋ ๊ธฐ๋ฅ |
Actions | ์ด๋ฒคํธ ๋ฐ์ ํ์ธ (onClick, onChange ๋ฑ) |
Addons | ์ ๊ทผ์ฑ ๊ฒ์ฌ, ๋ทฐํฌํธ ํ ์คํธ ๋ฑ ํ์ฅ ๊ธฐ๋ฅ ์ ๊ณต |
ย
- ์ค์น ๋ฐ ์ค์
- ๋ชจ๋ ์ปดํฌ๋ํธ ์คํ ๋ฆฌ๋ .stories.tsx ๋๋ .stories.mdx ํํ๋ก ์์ฑ
- ex) Button.stories.tsx
// ์ค์น
npx storybook init
// ์คํ
npm run storybook
ย