ํฐ์คํ ๋ฆฌ ๋ทฐ
์ ๊ฐ์๊ธฐ ๋๋ storybook ์ด ๊ถ๊ธํด์ก๋์ง...
์๋ก ํ๋ก์ ํธ๋ฅผ ์์ํ๋ฉฐ, ๋ค๋ฅธ ํ ๋๋ฃ๋ถ๊ป์ ํ๋ก์ ํธ์ storybook ์ ๋์ ํ์ จ๋ค..!
๊ทธ๋ฅ UI ๋ฅผ ํ ์คํธํ๋ ๋๊ตฌ๊ฒ ๊ฑฐ๋ ํ๊ณ ์ฌ์ค ์ ์๋ณด๊ณ ๋๊ฒผ๋๋ฐ, ์ฐ๋ฆฌ ํ์์ ์ต์ ์คํ๋ค๋ก ์์ํ๋ ํ๋ก์ ํธ์์๋ storybook ์ ๋ฃ์๋ ์ด์ผ๊ธฐ๊ฐ ๋์๋ค.
ํ ๋ด ์ ์ผํ ํ๋ก ํธ ๊ฐ๋ฐ์๋ก์ ๋ด๊ฐ ๋ฐฐ์์ ํ์๋ค์ ์๋ ค์ค์ผ ํ ์ ์ฅ์ด๊ธฐ์ ์ด๋ฒ ๊ธฐํ์ ๋ญ์ง ์ ๋๋ก ์์๋ณด๋ ค ํ๋ค.
Storybook
- UI ์ปดํฌ๋ํธ ๊ฐ๋ฐ ๋๊ตฌ
=> ๋ค์๋งํด ๋ก์ง๊ณผ ๊ด๋ จ ์๋ UI ๋ฅผ ๊ฐ๋ฐํ ๋ ์ฐ๋ฉฐ, ์ค์ ๊ฐ๋ฐํ๋ ๊ณณ์ด ์๋ ๊ฐ๋ฐ์ ๋์์ฃผ๋ ๋๊ตฌ๋ค.
- ๋ฉ์ธ ์ดํ๋ฆฌ์ผ์ด์ ๊ณผ ๋ณ๊ฐ๋ก ๋ฐ๋ก ๊ตฌ๋์ด ๊ฐ๋ฅํ ์น์ฌ์ดํธ ํํ๋ค. (ํฌํธ๋ฒํธ๋ฅผ ๋ฌ๋ฆฌํด์ ๋ฌ๋ค.)
- React, Vue, Angular ๋ฑ ๋ค์ํ ํ๋ ์์ํฌ์์ ์ฌ์ฉ ๊ฐ๋ฅํ๋ค.
Storybook ๊ตฌ์ฑ
- story ๋ผ๋ ๊ธฐ๋ณธ ๊ตฌ์ฑ ๋จ์๋ก ๊ตฌ์ฑ๋๋ฉฐ, ํ๋์ UI ์ปดํฌ๋ํธ๋ ํ๋ ์ด์์ story ๋ฅผ ๊ฐ์ง๊ฒ ๋๋ค.
ํ๋ ์ด์์ด๋ผ๊ณ ์ ์ ์ด์ ๋ ๊ฐ ์ํฉ์ ๋ฐ๋ผ ํ๋์ UI ์ปดํฌ๋ํธ๊ฐ ์ด๋ป๊ฒ ์ฌ์ฉ๋๋์ง๋ฅผ story ๋ก ๋ง๋ค์ด์ฃผ๊ธฐ์ ์ํฉ๋งํผ story ๋ฅผ ๋ ๊ฐ์ง ์ ์๊ธฐ ๋๋ฌธ์ด๋ค.
ex) Button ์ปดํฌ๋ํธ๋ฅผ ๋ง๋ค์๋๋ฐ, type = "Alert" ์ธ ๊ฒฝ์ฐ, size = "small" ์ธ ๊ฒฝ์ฐ ๋ฑ ์ฌ๋ฌ ์ต์ ์ด ์์ ์ ์์.
- Addon(์ ๋์จ)์ด๋ผ๋ ๊ธฐ๋ฅ์ ์ฌ์ฉํ๋ฉด ๊ธฐ๋ณธ์ ์ธ ๊ธฐ๋ฅ ์ด์ธ์๋ ์ฌ๋ฌ ํ ์คํ ๋ฑ์ ํด๋ณผ ์ ์๋ ๊ธฐ๋ฅ๋ค์ ์ถ๊ฐํ ์ ์๋ค. (parameter ๋ฅผ ๋ฐ๊ฟ์ edge case ๋ฅผ ํ ์คํธํด๋ณธ๋ค๋์ง...)
=> ์ฌ์ค์ ๋ก์ง๊ณผ ๊ด๋ จ์๋ UI ๊ด๋ จ ํ ์คํธ๋ ๋ชจ๋ ๊ฐ๋ฅํ๋ค๋ ๋ป!
Storybook ์ฅ์
- storybook ์ ์ด์ฉํด์ ๊ฐ๋ฐํ๋ ๊ฐ๋ฐ์ : ๋ก์ง์ ๋ ๋ฆฝ์ ์ธ UI ๋ ๋๋ง ๊ฒฐ๊ณผ๋ฅผ ๋ณด๋ฉฐ(์๊ฐ์ ์ผ๋ก ํ ์คํธํ๋ฉฐ), UI ๋ฅผ ๋ง๋ค ์ ์๋ค.
=> ๋ฌธ์ ๊ฐ ์๊ฒผ์ ๋ UI ๋ฌธ์ ์ธ์ง ๋ก์ง๋ฌธ์ ์ธ์ง ๋ฐ๊ฒฌํ๊ธฐ ์ฌ์ธ ๊ฑฐ ๊ฐ๋ค. (storybook ์์ ํด๋ณด๊ณ ๋๋ฉด ๋ก์ง์ ์๋ชป์ง์์ธ ๊ฒ์ด๋..)
- storybook ์ ์ด์ฉํ ์ปดํฌ๋ํธ๋ก ๊ฐ๋ฐํ๋ ๊ฐ๋ฐ์ : (storybook ์ ์ ๋ง๋ค์ด๋จ๋ค๋ฉด,) ์ฝ๋๋ฅผ ๋ณด์ง ์๊ณ ๋ UI ๋ฅผ ์ฒดํํด์ ๋ฐ๋ก ๊ฐ๋ค์ฐ๊ธฐ ํธํ๋ค.
Story ์ฌ์ฉ๋ฒ
๋ด๊ฐ ๊ตณ์ด ์ ๋ฆฌํ ํ์๋ ์์ ๊ฑฐ ๊ฐ๊ณ , ๊ณต์๋ฌธ์ ๋๋ ์ ์ ๋ฆฌํด๋์ ๋ธ๋ก๊ทธ์ ์ ๋์์๋ค.
'๐ฉโ๐ป' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[FE/React-Query] React-Query, ์๋ฌ ์ฒ๋ฆฌ๋ฅผ ์ด๋ป๊ฒ ํ ๊ฒ์ธ๊ฐ? (0) | 2023.05.07 |
---|
- Total
- Today
- Yesterday