๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ปจํผ๋Ÿฐ์Šค ํ›„๊ธฐ ์ด๋ฒˆ์ฃผ์— ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ปจํผ๋Ÿฐ์Šค๋ฅผ ๋‹ค๋…€์™”๋‹ค. ์˜ˆ์ „์— ์ฝ์—ˆ๋˜ ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ฑ…์—์„œ ๋งํ•˜๋Š” ‘ํ•˜๋‚˜์˜ ๊ณ„์‚ฐ์— ํ•˜๋‚˜์˜ ํ•จ์ˆ˜’ ์›์น™์„ ์ž˜ ์ ์šฉํ•  ๋•Œ๋„ ์žˆ์ง€๋งŒ, ์‹ค์ œ๋กœ๋Š” ๋‹ค์–‘ํ•œ ๋„๋ฉ”์ธ ๋กœ์ง๊ณผ ์ƒํƒœ ๊ด€๋ฆฌ๊ฐ€ UI ๋กœ์ง๊ณผ ์–ฝํžˆ๋ฉด์„œ ์ง€ํ‚ค๊ธฐ ์–ด๋ ค์šธ ๋•Œ๊ฐ€ ๋งŽ์•˜๋‹ค. ๋‹ค๋ฅธ ๋ถ„๋“ค์€ ์–ด๋–ป๊ฒŒ ํ’€์–ด๋‚˜๊ฐ€๋Š”์ง€ ๊ถ๊ธˆํ–ˆ๋Š”๋ฐ, ๋งˆ์นจ ์ด๋ฒˆ ์ปจํผ๋Ÿฐ์Šค์— FE ์„ธ์…˜๋„ ์žˆ์–ด์„œ ์‹ ์ฒญํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค. ๊ธฐ์–ต์— ๋‚จ์•˜๋˜ ๋‚ด์šฉ์€ ๊ฐ„๋‹จํžˆ ์ ์–ด๋ณด์ž๋ฉด 1. FE ํƒœํฌ ๋‹˜ ์„ธ์…˜์—์„œ ๋‚ด๊ฐ€ ์ž‘์„ฑํ•œ ๋กœ์ง์ด ์ˆœ์ˆ˜ํ•œ์ง€? ๋ฅผ ํŒ๋‹จํ•˜๋Š” ๊ธฐ์ค€ ์ค‘์— ํ•˜๋‚˜๋กœ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋ฉด์„œ ๋А๊ปด์ง€๋Š” ๋ถˆํŽธํ•จ+์–ด์ƒ‰ํ•จ์ด ๋กœ์ง์„ ์ œ๋Œ€๋กœ ์ž‘์„ฑํ•˜์ง€ ๋ชปํ–ˆ๋‹ค๋Š” ์‹ ํ˜ธ๋กœ ํŒ๋‹จํ•œ๋‹ค๋Š” ๊ฒƒ์ด์—ˆ๊ณ  ํ•ด๋‹น ๋Œ€๋ชฉ์—์„œ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ์˜ ์ค‘์š”์„ฑ์„ ๋А๋ผ๊ฒŒ ๋˜์—ˆ๋‹ค. ๋‹ค๋งŒ FE ์„ธ์…˜์€ ํŒจ๋„ ํ† ํฌ๋กœ ์กฐ๊ธˆ์€ ๋ผ์ดํŠธํ•˜๊ฒŒ ์ง„ํ–‰๋˜์—ˆ๋Š”๋ฐ ๊ทธ๋Ÿผ.. 2024. 12. 15.
Polyfill์ด๋ž€? ์ตœ๊ทผ์— ์‹ ๊ทœ ๊ธฐ๋Šฅ ๊ฐœ๋ฐœ์„ ์ง„ํ–‰ํ•˜๋ฉด์„œ, EyeDropper API๋ฅผ ์‚ฌ์šฉ์ด ํ•„์š”ํ–ˆ๋‹ค. ์‚ฌ์šฉ์ž๊ฐ€ ํ™”๋ฉด์— ํ‘œ์‹œ๋œ ์ƒ‰์ƒ์„ ์„ ํƒํ•˜๊ณ  ๊ทธ ์ •๋ณด๋ฅผ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋กœ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ๋Š” Web API ์ด์˜€๋Š”๋ฐ, ์•„์ง ๋Œ€๋ถ€๋ถ„์˜ ๋ธŒ๋ผ์šฐ์ €์—์„œ ํ•ด๋‹น API๋ฅผ ๊ณต์‹ ์ง€์›ํ•˜์ง€ ์•Š๊ฑฐ๋‚˜, ์ง€์› ๋ฒ”์œ„๊ฐ€ ์ œํ•œ์ ์ด๋ผ ํ”„๋กœ์ ํŠธ์— ๋ฐ”๋กœ ์ ์šฉํ•˜๋Š” ๋ฐ์—๋Š” ๋ฌด๋ฆฌ๊ฐ€ ์žˆ์—ˆ๋‹ค. ๐Ÿฅฒ๐Ÿ’ฆ์ด๋•Œ ํŒ€์›๋ถ„์ด EyeDropper Polyfill ์ด ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๋ ค์ฃผ์…จ๋Š”๋ฐ, Polyfill์ด ๋ฌด์—‡์ธ์ง€, ๊ทธ๋ฆฌ๊ณ  EyeDropper Polyfill์€ ์–ด๋–ป๊ฒŒ ๊ตฌํ˜„๋˜์–ด ์žˆ๋Š”์ง€ ์ •๋ฆฌํ•˜๊ณ ์ž ํ•œ๋‹ค.Polyfill์ด๋ž€?Polyfill์€ ์‰ฝ๊ฒŒ ๋งํ•ด ์ตœ์‹  ๋ธŒ๋ผ์šฐ์ € ๊ธฐ๋Šฅ์„ ์ง€์›ํ•˜์ง€ ์•Š๋Š” ๊ตฌํ˜• ๋ธŒ๋ผ์šฐ์ €๋ฅผ ์œ„ํ•ด ๊ทธ ๊ธฐ๋Šฅ์„ ๋Œ€์‹  ๊ตฌํ˜„ํ•ด ์ฃผ๋Š” ‘์ฝ”๋“œ’์ด๋‹ค.์˜ˆ๋ฅผ ๋“ค์–ด, ES6์—์„œ ์ƒˆ๋กญ๊ฒŒ ๋„์ž…๋œ .. 2024. 12. 8.
๐Ÿ—‚ FSD (Feature-Slided Design) 1๏ธโƒฃ FSD ๊ตฌ์กฐFSD๋Š” ๋ ˆ์ด์–ด(Layers), ์Šฌ๋ผ์ด์Šค(Slices), ์„ธ๊ทธ๋จผํŠธ(Segments)์˜ ๊ณ„์ธต ๊ตฌ์กฐ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค.1. ๋ ˆ์ด์–ด(Layers) => ํ”„๋กœ์ ํŠธ ๊ธฐ๋Šฅ์  ์—ญํ• ๋ ˆ์ด์–ด๋Š” ๋ชจ๋“  FSD ํ”„๋กœ์ ํŠธ์—์„œ ํ‘œ์ค€ํ™”๋œ ๊ตฌ์กฐ๋กœ ์ด 7๊ฐœ์˜ ๋ ˆ์ด์–ด๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋‹ค.App - ์•ฑ์„ ์‹คํ–‰ํ•˜๋Š” ๋ชจ๋“  ๊ฒƒ - ๋ผ์šฐํŒ…, ์ง„์ž…์ , ์ „์—ญ ์Šคํƒ€์ผ, ํ”„๋กœ๋ฐ”์ด๋”.Processes(๋” ์ด์ƒ ์‚ฌ์šฉ๋˜์ง€ ์•Š์Œ) - ํŽ˜์ด์ง€ ๊ฐ„ ๋ณต์žกํ•œ ์‹œ๋‚˜๋ฆฌ์˜ค.Pages - ์ „์ฒด ํŽ˜์ด์ง€ ๋˜๋Š” ์ค‘์ฒฉ ๋ผ์šฐํŒ…์—์„œ ํŽ˜์ด์ง€์˜ ์ฃผ์š” ๋ถ€๋ถ„.Widgets - ๋…๋ฆฝ์ ์œผ๋กœ ์ž‘๋™ํ•˜๋Š” ๋Œ€๊ทœ๋ชจ ๊ธฐ๋Šฅ ๋˜๋Š” UI ์ปดํฌ๋„ŒํŠธ, ๋ณดํ†ต ํ•˜๋‚˜์˜ ์™„์ „ํ•œ ๊ธฐ๋Šฅ.Features - ์ œํ’ˆ ์ „๋ฐ˜์— ๊ฑธ์ณ ์žฌ์‚ฌ์šฉ๋˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„์ฒด๋กœ, ์‚ฌ์šฉ์ž์—๊ฒŒ ์‹ค์งˆ์ ์ธ ๋น„์ฆˆ๋‹ˆ์Šค ๊ฐ€์น˜๋ฅผ ์ œ๊ณตํ•˜๋Š” ๋™์ž‘.Entitie.. 2024. 12. 1.
ํ”„๋ก ํŠธ์—”๋“œ์—๊ฒŒ ๋ฐฐํฌํ”Œ๋žซํผ์ด๋ž€ - 2024 ๋‹น๊ทผ ํ…Œํฌ ๋ฐ‹์—… ๋‹น๊ทผ ํ…Œํฌ ๋ฐ‹์—… ์˜์ƒ์„ ๋ณด๊ณ  ๋‚ด์šฉ ์œ„์ฃผ๋กœ ์ •๋ฆฌํ•˜์˜€์Šต๋‹ˆ๋‹ค.๐ŸŒ HTML์›นํŽ˜์ด์ง€์—์„œ ๊ฐ€์žฅ ์ค‘์š”ํ•œ ์š”์†Œ๋Š” ๋ธŒ๋ผ์šฐ์ €์— ํ‘œ์‹œ๋˜๋Š” ๋‚ด์šฉ์„ ๊ฒฐ์ •ํ•˜๋Š” HTML์ด๋‹ค.์‚ฌ์šฉ์ž๊ฐ€ ๋กœ์ปฌ์—์„œ HTML ํŒŒ์ผ์— ์ ‘๊ทผํ•˜๋ฉด ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์ง์ ‘ ์—ด ์ˆ˜ ์žˆ์ง€๋งŒ ๋ฆฌ๋ชจํŠธ ์„œ๋ฒ„์— ์žˆ๋Š” HTML์— ์ ‘๊ทผํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋ฆฌ๋ชจํŠธ URL๋กœ ์ ‘๊ทผํ•ด์•ผ ํ•œ๋‹ค. (* ๋ฆฌ๋ชจํŠธ URL : ์™ธ๋ถ€์— ์œ„์น˜ํ•œ HTML์„ ๊ฐ€๋ฆฌํ‚ค๋Š” ๊ฒฝ๋กœ)๋กœ์ปฌ์—์„œ๋Š” ํŒŒ์ผ ํ”„๋กœํ† ์ฝœ์„ ํ†ตํ•ด HTML์„ ์š”์ฒญ, ๋ฆฌ๋ชจํŠธ์—์„œ ์ ‘๊ทผํ•  ๋•Œ๋Š” HTTP ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•˜์—ฌ ์š”์ฒญํ•œ๋‹ค.(*ํ”„๋กœํ† ์ฝœ: ์ปดํ“จํ„ฐ์™€ ์ปดํ“จํ„ฐ ์‚ฌ์ด, ๋˜๋Š” ํ•œ ์žฅ์น˜์™€ ๋‹ค๋ฅธ ์žฅ์น˜ ์‚ฌ์ด์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์›ํ™œํžˆ ์ฃผ๊ณ ๋ฐ›๊ธฐ ์œ„ํ•˜์—ฌ ์•ฝ์†ํ•œ ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ๊ทœ์•ฝ)๐Ÿ“ฆ ๋ฐฐํฌ์˜ ์ •์˜ ๋ฐ ์„ฑ๊ณต์ ์ธ ๋ฐฐํฌ์˜ ์กฐ๊ฑด๋ฐฐํฌ๋ž€?1. ์‚ฌ์šฉ์ž์™€ ๊ฐœ๋ฐœ์ž๊ฐ€ ๋งŒ๋‚˜๋Š” ์ง€์ .2. HTML ์œ„์น˜๋ฅผ .. 2024. 11. 24.
๋™์ผํ•œ ์ปดํฌ๋„ŒํŠธ๋ฅผ ์žฌ์‚ฌ์šฉํ•˜๋ฉด์„œ ๋…๋ฆฝ์ ์ธ ์ƒํƒœ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ• ์ด์ „ ๊ธ€์—์„œ ์ปค์Šคํ…€ ์ด๋ฒคํŠธ๋ฅผ ์‚ฌ์šฉํ•ด ์ƒํƒœ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์ •๋ฆฌํ–ˆ์—ˆ๋‹ค. ํ•ด๋‹น ์—ํ”ฝ ๋ฒ„๊ทธ๋ฐฐ์‹œ๋ฅผ ์ง„ํ–‰ํ•˜๋ฉด์„œ ๋ฐœ๊ฒฌํ•œ ์ด์Šˆ๋กœ ๋™์ผํ•œ ์ปดํฌ๋„ŒํŠธ๋ฅผ ์žฌ์‚ฌ์šฉํ•˜๋Š” ์ƒํ™ฉ์ด ๋ฐœ์ƒํ•˜๋ฉด์„œ ์ด๋ฒคํŠธ๊ฐ€ ๊ณ ์œ ํ•˜์ง€ ๋ชปํ•ด ์ƒํƒœ๊ฐ€ ๊ณต์œ ๋˜๋Š” ์ด์Šˆ๊ฐ€ ๋ฐœ๊ฒฌ์ด ๋˜์—ˆ๊ณ  ์ด๋ฒคํŠธ ๋„ค์ด๋ฐ์— ๊ณ ์œ ํ•œ ID๋ฅผ ์ถ”๊ฐ€ํ•ด ์ค‘๋ณต ํ˜ธ์ถœ์„ ๋ฐฉ์ง€ํ•˜๋„๋ก ์ถ”๊ฐ€ํ•˜์˜€๋‹ค.์ƒํƒœ ๊ด€๋ฆฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ธ Zustand๋ฅผ ํ™œ์šฉํ•œ๋‹ค๋ฉด, ์ด์™€ ๊ฐ™์€ ๋ฌธ์ œ๋ฅผ ์–ด๋–ป๊ฒŒ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ์ •๋ฆฌํ•ด๋ณด๊ณ ์ž ํ•œ๋‹ค.1. createStore์„ ์‚ฌ์šฉํ•ด ๋ณด์žzustand์˜ createStore๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ปดํฌ๋„ŒํŠธ๋ณ„๋กœ ๋…๋ฆฝ์ ์ธ store๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ํ•œ๋‹ค.import { createStore, useStore } from "zustand";// ๋…๋ฆฝ์ ์ธ store๋ฅผ ์ƒ์„ฑํ•˜๋Š” ํ•จ์ˆ˜function create.. 2024. 11. 17.
CustomEvent ์‚ฌ์šฉํ•ด์„œ ๋…ธ๋“œ ์—ฐ๊ฒฐํ•˜๊ธฐ ์ด๋ฒˆ์— ProseMirror์—์„œ ๋ถ€๋ชจ-์ž์‹ ๋…ธ๋“œ ๊ฐ„์˜ ๋ฐ์ดํ„ฐ ์ „๋‹ฌ ๋ฌธ์ œ๋กœ ์–ด๋ ค์›€์„ ๊ฒช๊ฒŒ ๋˜์—ˆ๋Š”๋ฐ, React ์ปดํฌ๋„ŒํŠธ์—์„œ๋Š” ๋ถ€๋ชจ๊ฐ€ ์ž์‹ ์ปดํฌ๋„ŒํŠธ์— props๋ฅผ ํ†ตํ•ด ์‰ฝ๊ฒŒ ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌํ•˜๊ณ , ๋ณ€๊ฒฝ๋œ Props์— ๋”ฐ๋ผ ๋ฆฌ๋ Œ๋”๋ง ๋˜๋ฉด์„œ ์ปดํฌ๋„ŒํŠธ ์ƒํƒœ๋ฅผ ์‰ฝ๊ฒŒ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, ProseMirror์—์„œ๋Š” ๋ถ€๋ชจ์˜ ์ƒํƒœ๊ฐ€ ๋ณ€๊ฒฝ๋˜๋”๋ผ๋„ ์ž์‹ ๋…ธ๋“œ๋ฅผ ๋ฆฌ๋ Œ๋”๋งํ•˜๊ธฐ ์–ด๋ ค์›Œ, ์ƒํƒœ๋ฅผ ์›ํ™œํ•˜๊ฒŒ ๊ณต์œ ํ•˜๊ธฐ์—๋Š” ํ•œ๊ณ„๊ฐ€ ์žˆ๋‹ค.์œ„ ๋ฌธ์ œ๋ฅผ ๊ฐ„๋‹จํ•˜๊ฒŒ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด dispatchEvent ๋ฅผ ์‚ฌ์šฉํ•˜์˜€๋Š”๋ฐ, dispatchEvent ๊ฐ€ ๋ฌด์—‡์ธ์ง€์— ๋Œ€ํ•ด ๊ฐ„๋‹จํžˆ ์ •๋ฆฌํ•ด ๋ณด์•˜๋‹ค. ๐Ÿค”๐Ÿ“ CustomEvent1. ์ƒ์„ฑํ•˜๊ธฐCustomEvent๋Š” ์•„๋ž˜์™€ ๊ฐ™์€ ํ˜•ํƒœ๋กœ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค.const event = new CustomEvent('crush'.. 2024. 11. 10.
๐Ÿคจ lingui ์ด๋ฒˆ์— ํšŒ์‚ฌ์—์„œ https://lingui.dev/introduction ํ•ด๋‹น ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•ด์„œ ํ˜„์žฌ ๋‹ค๊ตญ์–ด ์ž‘์—…์ด ํ•„์š”ํ•œ ํ”„๋กœ์ ํŠธ์— ์ถ”๊ฐ€ํ•˜๋Š” ์ž‘์—…์„ ์ง„ํ–‰ ์ค‘์ธ๋ฐ, ๋‚˜๋„ ์ž ์‹œ ์ž‘์—…์„ ํ•จ๊ป˜ ์ง„ํ–‰ํ•˜๊ฒŒ ๋˜๋ฉด์„œ ์•Œ๊ฒŒ ๋œ lingui์— ๋Œ€ํ•ด ๊ฐ„๋‹จํ•˜๊ฒŒ ์ •๋ฆฌํ•ด ๋ณด์•˜๋‹ค.1. Lingui ์ดˆ๊ธฐ ์„ค์ •๋จผ์ € Lingui CLI์™€ ํ•„์š”ํ•œ ํŒจํ‚ค์ง€๋ฅผ ์„ค์น˜๊ฐ€ ํ•„์š”ํ•œ๋ฐ, @lingui/cli๋Š” CLI ๋„๊ตฌ๋กœ ๋ฉ”์‹œ์ง€ ์ถ”์ถœ ๋ฐ ๋ฒˆ์—ญ ๊ด€๋ฆฌ๋ฅผ ๋•๊ณ , @lingui/macro๋Š” ์ฝ”๋“œ๋ฅผ ๋ถ„์„ํ•˜์—ฌ ๋ฒˆ์—ญ์ด ํ•„์š”ํ•œ ํ…์ŠคํŠธ๋ฅผ ์ธ์‹ํ•˜๊ณ , @lingui/react๋Š” React์—์„œ ์‚ฌ์šฉํ•  ์ปดํฌ๋„ŒํŠธ๋ฅผ ์ œ๊ณตํ•œ๋‹ค.npm install @lingui/cli @lingui/macro @lingui/react๊ทธ๋ฆฌ๊ณ  lingui.config.js๋ฅผ ์ƒ์„ฑํ•ด์„œ loca.. 2024. 11. 3.
๐Ÿ”จ React Dev Tools ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž ์š”์ฆ˜ ๊ฐœ๋ฐœ์ผ์ •์ด ํ”ฝ์Šค๋˜์–ด ์žˆ๋Š” ์ƒํ™ฉ์ด ๋งŽ๋‹ค ๋ณด๋‹ˆ ์ด์Šˆ๊ฐ€ ๋ฐœ์ƒํ–ˆ์„ ๋•Œ ์ด์Šˆ๋ฅผ ํŒŒ์•…ํ•˜๋Š” ๊ณผ์ •์— ์žˆ์–ด์„œ ์–ด๋–ป๊ฒŒ ํ•˜๋ฉด ํšจ์œจ์ ์œผ๋กœ ๋น ๋ฅด๊ฒŒ ์ด์Šˆ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์„ ์ง€์— ๋Œ€ํ•ด ๊ณ ๋ฏผํ•˜๊ฒŒ ๋˜์—ˆ๋Š”๋ฐ.. ๋ฌธ๋“ ๋‚ด๊ฐ€ ๋””๋ฒ„๊น…์„ ์ž˜ํ•˜๋Š” ํŽธ์ด ์•„๋‹ˆ๋ผ๋Š” ์ƒ๊ฐ์ด ๋“ค์—ˆ๊ณ ..(์ฝ˜์†”๋กœ๊ทธ๋งŒ ๋ƒ…๋‹ค ๋งŽ์ด ์ฐ๋Š” ์‚ฌ๋žŒ + debugger๊ฐ€ ํŽธํ•˜์ง€ ์•Š๋Š” ์‚ฌ๋žŒ = ๋‚˜) React Dev Tools์„ ์ž˜ ํ™œ์šฉํ•ด ๋ณด๊ธฐ ์œ„ํ•ด ๊ด€๋ จ ๋‚ด์šฉ๋“ค์„ ์ฐพ์•„์„œ ์ฝ๊ณ  ๊ฐ„๋‹จํžˆ ์ •๋ฆฌํ•ด ๋ณด์•˜๋‹ค! ๐Ÿ”ฅ React Dev Tools ์€ ํฌ๊ฒŒ Components ํƒญ๊ณผ Profiler ํƒญ์œผ๋กœ ๋‚˜๋ˆ„์–ด์ง€๋Š”๋ฐ, Components ํƒญ ์—์„œ๋Š” ํ˜„์žฌ React ๊ตฌ์„ฑ ์š”์†Œ ํŠธ๋ฆฌ์™€ ๋ชจ๋“  props, state ๋˜๋Š” context๋ฅผ ํ‘œ์‹œํ•˜๊ณ , Profiler ํƒญ์—์„œ๋Š” ์‚ฌ์šฉํ•˜๋ฉด ์ƒํ˜ธ ์ž‘์šฉ์„ ๊ธฐ๋ก.. 2024. 10. 27.