plogger
๐Ÿ–ฅ๏ธ Frontend

Frontend

11๊ฐœ์˜ ํฌ์ŠคํŠธ

Vue Router 4 ์™„๋ฒฝ ๊ฐ€์ด๋“œ โ€” ๊ธฐ์ดˆ๋ถ€ํ„ฐ ์ค‘์ฒฉ ๋ผ์šฐํŠธ๊นŒ์ง€

Vue 3์™€ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜๋Š” Vue Router 4์˜ ์„ค์น˜๋ถ€ํ„ฐ ๋™์  ๋ผ์šฐํŠธ, ๋„ค๋น„๊ฒŒ์ด์…˜ ๊ฐ€๋“œ, ์ค‘์ฒฉ ๋ผ์šฐํŠธ๊นŒ์ง€ ์‹ค์ „ ์˜ˆ์ œ๋กœ ์ •๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

Pinia ์™„๋ฒฝ ๊ฐ€์ด๋“œ โ€” Vue 3 ๊ณต์‹ ์ƒํƒœ ๊ด€๋ฆฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ

Vuex๋ฅผ ๋Œ€์ฒดํ•˜๋Š” Vue 3 ๊ณต์‹ ์ƒํƒœ ๊ด€๋ฆฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ Pinia. defineStore, state, getters, actions๋ฅผ ์‹ค์ „ ์˜ˆ์ œ๋กœ ์ตํ˜€๋ด…๋‹ˆ๋‹ค.

Vue 3 ์ปดํฌ๋„ŒํŠธ ํ†ต์‹  ์ด์ •๋ฆฌ โ€” props, emit, provide/inject

Vue 3์—์„œ ์ปดํฌ๋„ŒํŠธ ๊ฐ„ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ ๋ฐ›๋Š” ๋ชจ๋“  ๋ฐฉ๋ฒ•์„ ์˜ˆ์ œ๋กœ ์ •๋ฆฌํ•ฉ๋‹ˆ๋‹ค. props, emit, provide/inject, ๊ทธ๋ฆฌ๊ณ  ์ „์—ญ ์ƒํƒœ ๊ด€๋ฆฌ๊นŒ์ง€.

Vite + Vue 3 ํ”„๋กœ์ ํŠธ ๋น ๋ฅธ ์‹œ์ž‘ โ€” ํ™˜๊ฒฝ ์„ค์ •๋ถ€ํ„ฐ ๋ฐฐํฌ๊นŒ์ง€

Vite๋กœ Vue 3 ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์„ ๋น ๋ฅด๊ฒŒ ๊ตฌ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•. ๊ฒฝ๋กœ ๋ณ„์นญ, ํ™˜๊ฒฝ ๋ณ€์ˆ˜, ํ”„๋ก์‹œ, ๋นŒ๋“œ ์ตœ์ ํ™” ์„ค์ •๊นŒ์ง€ ํ•œ ๋ฒˆ์— ์ •๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

React Context API๋กœ ์ „์—ญ ์ƒํƒœ ๊ด€๋ฆฌํ•˜๊ธฐ

Props drilling ์—†์ด ์ปดํฌ๋„ŒํŠธ ํŠธ๋ฆฌ ์ „์ฒด์— ๋ฐ์ดํ„ฐ๋ฅผ ๊ณต์œ ํ•˜๋Š” Context API ์‚ฌ์šฉ๋ฒ•. ํ…Œ๋งˆ, ์ธ์ฆ ์ƒํƒœ, ๋‹ค๊ตญ์–ด ์ฒ˜๋ฆฌ ์‹ค์ „ ์˜ˆ์ œ๋ฅผ ์ •๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

Next.js 14 App Router ์™„๋ฒฝ ๊ฐ€์ด๋“œ โ€” ์„œ๋ฒ„ ์ปดํฌ๋„ŒํŠธ๋ถ€ํ„ฐ ๋ผ์šฐํŒ…๊นŒ์ง€

Next.js 14 App Router์˜ ํ•ต์‹ฌ ๊ฐœ๋…์„ ์ •๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ์„œ๋ฒ„ ์ปดํฌ๋„ŒํŠธ, ํด๋ผ์ด์–ธํŠธ ์ปดํฌ๋„ŒํŠธ, ๋™์  ๋ผ์šฐํŒ…, ๋ ˆ์ด์•„์›ƒ, ๋กœ๋”ฉ/์—๋Ÿฌ ์ฒ˜๋ฆฌ๊นŒ์ง€ ์‹ค์ „ ์˜ˆ์ œ๋กœ ์•Œ์•„๋ด…๋‹ˆ๋‹ค.

TanStack Query(React Query)๋กœ ์„œ๋ฒ„ ์ƒํƒœ ๊ด€๋ฆฌํ•˜๊ธฐ

TanStack Query v5๋ฅผ ํ™œ์šฉํ•ด API ๋ฐ์ดํ„ฐ ํŽ˜์นญ, ์บ์‹ฑ, ๋™๊ธฐํ™”๋ฅผ ํšจ์œจ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์‹ค์ „ ์˜ˆ์ œ๋กœ ์ •๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

React + TypeScript ํ”„๋กœ์ ํŠธ ์„ค์ • ๋ฐ ์‹ค์ „ ํƒ€์ž… ํŒจํ„ด

React ํ”„๋กœ์ ํŠธ์—์„œ TypeScript๋ฅผ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•. ์ปดํฌ๋„ŒํŠธ Props ํƒ€์ž…, ์ด๋ฒคํŠธ ํ•ธ๋“ค๋Ÿฌ, useRef, ์ œ๋„ค๋ฆญ ์ปดํฌ๋„ŒํŠธ๊นŒ์ง€ ์‹ค์ „ ํŒจํ„ด์„ ์ •๋ฆฌํ•ฉ๋‹ˆ๋‹ค.