์žฌ๋ฐŒ๊ฒŒ ํ•ฉ์‹œ๋‹ค

๊ธฐ๋กํ•˜๊ธฐ, ๊ฐ€์‹œํ™”ํ•˜๊ธฐ

ํ”„๋กœ์ ํŠธ ๊ธฐ๋ก/YSS | ์—ฐ์„ธ๋Œ€ํ•™๊ต ๊ณต๊ฐ„๋Œ€๊ด€ ์„œ๋น„์Šค 3

(์—๋Ÿฌ ํ•ด๊ฒฐ) Union type๊ณผ ํƒ€์ž… ๊ฐ€๋“œ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜๊ธฐ

Union type | ์—ฐ์‚ฐ์ž๋กœ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํƒ€์ž…์ด ์—ฐ๊ฒฐ๋œ ํƒ€์ž…์„ ์˜๋ฏธํ•œ๋‹ค. ์ด๋•Œ | ์—ฐ์‚ฐ์ž๋Š” or์˜ ์˜๋ฏธ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. ์ด๋Ÿฌํ•œ Union type์„ ํ™œ์šฉํ•ด ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ •์˜ํ•˜๊ณ ์ž ํ–ˆ๋‹ค. ๋ฌธ์ œ ์ •์˜ interface Props { data: LectureRoomsPerBuilding | LectureRoomInfo; children?: LectureRoomInfo[]; } ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ž‘์„ฑํ–ˆ๋Š”๋ฐ, ํƒ€์ž… ์ถ”๋ก ์—์„œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ๋‹ค. export interface LectureRoomInfo { room_name: string; room_uid: RoomUID; } export interface LectureRoomsPerBuilding { building_name: string; building..

์‚ฌ์ด๋“œ๋ฐ” ๊ตฌํ˜„ํ•˜๊ธฐ | UI

์‚ฌ์ด๋“œ๋ฐ”๋ฅผ ๊ตฌํ˜„ํ•ด๋ณด์ž. ๋ช…ํ™•ํ•œ ์š”๊ตฌ์‚ฌํ•ญ ์—†์ด ๋‹จ์ง€ ๊ฐ•์˜์‹ค ๋ชฉ๋ก์„ ์กฐํšŒํ•  ์ˆ˜ ์žˆ๋Š” ์‚ฌ์ด๋“œ๋ฐ”๋ฅผ ๊ตฌํ˜„ํ•ด์•ผ ํ–ˆ๋‹ค. ์–ด๋–ค ์‹์œผ๋กœ ์ž‘๋™ํ•ด์•ผ ํ•  ์ง€ ๊ฐ์ด ์•ˆ์™€์„œ, ๋ ˆํผ๋Ÿฐ์Šค๋ฅผ ์ฐธ๊ณ ํ–ˆ๋‹ค. Ant Design Ant design ์ปดํฌ๋„ŒํŠธ์—์„œ ๋‹ค์–‘ํ•œ ์‚ฌ์ด๋“œ๋ฐ”๋ฅผ ์ œ๊ณตํ•˜๊ณ  ์žˆ๋‹ค. ์‹ค์ œ๋กœ ์กฐ์ž‘ํ•ด๋ณผ ์ˆ˜ ์žˆ๊ณ , ๋Œ€๋žต์ ์ธ ์ฝ”๋“œ๋„ ์ œ๊ณตํ•œ๋‹ค. ๊ทธ ์ค‘ ์œ„ ์ด๋ฏธ์ง€์— ์žˆ๋Š” ์‚ฌ์ด๋“œ๋ฐ” ์ปดํฌ๋„ŒํŠธ๋ฅผ ์ฐธ๊ณ ํ–ˆ๋‹ค. Ant Design ์ฝ”๋“œ์˜ ์ผ๋ถ€๋ถ„์„ ๋ฐœ์ทŒํ•ด์™”๋‹ค. ์ด์ค‘ Menu ์ปดํฌ๋„ŒํŠธ๋ฅผ ๋ณด๋ฉด, props๋กœ items๋ฅผ ๋ฐ›๊ณ  ์žˆ๋‹ค. items์— ์ „๋‹ฌ๋˜๋Š” ์˜ˆ์ œ ๊ฐ์ฒด๋ฅผ ์‚ดํŽด๋ดค๋”๋‹ˆ, children์ด๋ผ๋Š” ํ”„๋กœํผํ‹ฐ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค. ์—ฌ๊ธฐ์—๋Š” ์„œ๋ธŒ ๋ฉ”๋‰ด๋“ค์˜ ์ •๋ณด๊ฐ€ ๋‹ด๊ฒจ ์žˆ๋‹ค. ์ฆ‰, Menu ์ปดํฌ๋„ŒํŠธ์— ์„œ๋ธŒ ๋ฉ”๋‰ด๊ฐ€ ํฌํ•จ๋œ ์ •๋ณด๋ฅผ ์ „๋‹ฌํ•˜๋ฉด Menu ์ปดํฌ๋„ŒํŠธ ๋‚ด์—์„œ ..

ํ† ์ด ํ”„๋กœ์ ํŠธ๋ฅผ ์œ„ํ•œ css ๋ฐฉ์‹ ๊ฒฐ์ •ํ•˜๊ธฐ

๐Ÿงธ ๐Ÿš‚ ๐ŸŽˆ ์ƒˆ๋กœ์šด ํ† ์ด ํ”„๋กœ์ ํŠธ์—์„œ ์‚ฌ์šฉํ•  css ๋ฐฉ์‹์„ ๊ฒฐ์ •ํ•˜๊ธฐ ์œ„ํ•ด ์ง์ ‘ ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ๋ฐฉ์‹๋“ค์„ ์กฐ์‚ฌํ•˜๊ณ  ์žฅ๋‹จ์ ์„ ๋น„๊ตํ•ด ๋ดค๋‹ค! ๐Ÿ™‹๐Ÿปโ€โ™‚๏ธ ๐ŸŽˆ ๊ณ ๋ คํ•œ ์„ ํƒ์ง€ css module css preprocessor(scss) css-in-js(styled-components) ์ปดํฌ๋„ŒํŠธ๋ฅผ ์ง์ ‘ ์ œ์ž‘ํ•ด๋ณด๊ณ  ์‹ถ์—ˆ๊ธฐ ๋•Œ๋ฌธ์— Tailwind CSS, Bootstrap, Material UI ๋“ฑ์˜ CSS Framework๋Š” ๊ณ ๋ คํ•˜์ง€ ์•Š์•˜๋‹ค. โ—๏ธ ๊ธฐ์กด css๊ฐ€ ๊ฐ€์ง€๋Š” ๋ฌธ์ œ์  ๊ฐ€์žฅ ํฐ ๋ฌธ์ œ์ ์€ ๋ฐ”๋กœ ์ค‘๋ณต๋œ ํด๋ž˜์Šค๋ช…์— ์žˆ๋‹ค. css๋Š” global scope๋ฅผ ๊ฐ€์ง€๊ธฐ ๋•Œ๋ฌธ์—, ํด๋ž˜์Šค๋ช…์ด ์ค‘๋ณต๋  ๊ฒฝ์šฐ ์›์น˜์•Š๋Š” ๊ณณ์— ์Šคํƒ€์ผ์ด ์ ์šฉ๋˜๋Š” ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๊ฒฐ๊ตญ ํด๋ž˜์Šค๋ช…์„ ์ ์  ๋” ๊ตฌ์ฒด์ ์œผ๋กœ ์ง€์„ ์ˆ˜ ๋ฐ–์—..