Transparent White Star

๐Ÿ“Œ ์ „์ฒด ๊ฒŒ์‹œ๊ธ€ ๋ชฉ๋ก

1. Styled ComponentsStyled Components๋Š” CSS-in-JS ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ค‘ ํ•˜๋‚˜๋กœ, ์Šคํƒ€์ผ์„ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ํŒŒ์ผ ์•ˆ์— ์ž‘์„ฑํ•˜๊ณ , ์ปดํฌ๋„ŒํŠธ ๋‹จ์œ„๋กœ ์บก์Šํ™”ํ•  ์ˆ˜ ์žˆ๋‹ค.์žฅ์  ๐Ÿ˜„์ž๋™ ์ตœ์ ํ™”: ๋ถˆํ•„์š”ํ•œ ํด๋ž˜์Šค ์ƒ์„ฑ์ด๋‚˜ ์ค‘๋ณต๋œ ์Šคํƒ€์ผ ์ œ๊ฑฐ ๋“ฑ ์ตœ์ ํ™”๊ฐ€ ์ž๋™์œผ๋กœ ์ด๋ฃจ์–ด์ง„๋‹ค.๋™์  ์Šคํƒ€์ผ๋ง: Prop์— ๋”ฐ๋ผ ๋™์ ์œผ๋กœ ์Šคํƒ€์ผ์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋‹ค.CSS์˜ ๋ฒ”์œ„: CSS๊ฐ€ ์ปดํฌ๋„ŒํŠธ ๋‹จ์œ„๋กœ ์บก์Šํ™”๋˜์–ด ์ „์—ญ ๋„ค์ž„์ŠคํŽ˜์ด์Šค ์ถฉ๋Œ ๋ฌธ์ œ๊ฐ€ ์—†๋‹ค.๋‹จ์  ๐Ÿ˜ž๋Ÿฐํƒ€์ž„ ์„ฑ๋Šฅ ์ €ํ•˜: Styled Components๋Š” ์Šคํƒ€์ผ์„ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋กœ ์ฒ˜๋ฆฌํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋Ÿฐํƒ€์ž„ ์„ฑ๋Šฅ์— ์˜ํ–ฅ์„ ๋ฏธ์น  ์ˆ˜ ์žˆ๋‹ค. ํŠนํžˆ ๋งŽ์€ ์ปดํฌ๋„ŒํŠธ๊ฐ€ ์žˆ์„ ๊ฒฝ์šฐ ์Šคํƒ€์ผ์„ ๊ณ„์‚ฐํ•˜๊ณ  ์ ์šฉํ•˜๋Š” ์‹œ๊ฐ„์ด ์ฆ๊ฐ€ํ•  ์ˆ˜ ์žˆ๋‹ค.ํŒจํ‚ค์ง€ ํฌ๊ธฐ ์ฆ๊ฐ€: ์ถ”๊ฐ€์ ์ธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ํฌํ•จํ•ด์•ผ..
๋ธŒ๋ผ์šฐ์ €์˜ ๊ฒฝ์šฐ setTimeout ์„ ์˜ˆ๋กœ ๋“ค๋ฉด, Call Stack์—์„œ Web API setTimeout ์š”์ฒญ ์ดํ›„ ์ œ๊ฑฐ๋ฉ๋‹ˆ๋‹ค.Web API์—์„œ setTimeout ์ด ์™„๋ฃŒ๋˜๋ฉด setTimeout callback ํ•จ์ˆ˜๋ฅผ Callback Queue(์ž๋ฃŒ๊ตฌ์กฐ์˜ queue์ฒ˜๋Ÿผ ๊ตฌํ˜„๋œ ์ €์žฅ์†Œ, ์„ธ๋ถ„ํ™”๋œ queue๋“ค์ด ์žˆ์Œ)๋กœ ์˜ฎ๊น๋‹ˆ๋‹ค.ํ˜„์žฌ ์‹คํ–‰ํ•œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ฝ”๋“œ๋ฅผ ๋ชจ๋‘ ์‹คํ–‰ํ•œ ๋’ค, Event Loop๊ฐ€ ์ง€์†์ ์œผ๋กœ Call Stack์ด ๋น„์–ด์žˆ๋Š”์ง€ ํ™•์ธํ•˜๊ณ , ๋น„์–ด์žˆ๋‹ค๋ฉด Callback Queue์— ์žˆ๋Š” ์ž‘์—… ์ˆœ์„œ๋Œ€๋กœ Call Stack์œผ๋กœ ๋„˜๊ฒจ ์‹คํ–‰ํ•˜๋„๋ก ๋งŒ๋“ญ๋‹ˆ๋‹ค.
Scssnav { ul { margin: 0; padding: 0; list-style: none; } li { display: inline-block; } a { display: block; padding: 6px 12px; text-decoration: none; }}CSSnav ul { margin: 0; padding: 0; list-style: none;}nav li { display: inline-block;}nav a { display: block; padding: 6px 12px; text-decoration: none;}๋ฏน์Šค์ธ ์˜ˆ์‹œScss@mixin theme($theme: DarkGray) { background: $theme; ..
1. PromisePromise๋Š” ๋น„๋™๊ธฐ ์ž‘์—…์˜ ๊ฒฐ๊ณผ๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๊ฐ์ฒด์ž…๋‹ˆ๋‹ค. ๋น„๋™๊ธฐ ์ž‘์—…์ด ์„ฑ๊ณต์ ์œผ๋กœ ์™„๋ฃŒ๋˜๋ฉด ๊ฒฐ๊ณผ๊ฐ’์„ ์ œ๊ณตํ•˜๊ฑฐ๋‚˜, ์‹คํŒจํ•˜๋ฉด ์—๋Ÿฌ๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.์ฃผ์š” ํŠน์ง•์ƒํƒœ: Pending (๋Œ€๊ธฐ), Fulfilled (์ดํ–‰), Rejected (๊ฑฐ๋ถ€) ์„ธ ๊ฐ€์ง€ ์ƒํƒœ๋ฅผ ๊ฐ€์ง‘๋‹ˆ๋‹ค.๋ฉ”์†Œ๋“œ: then, catch, finally ๋ฉ”์†Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฒฐ๊ณผ๋ฅผ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค.const fetchData = () => { return new Promise((resolve, reject) => { setTimeout(() => { resolve("๋ฐ์ดํ„ฐ ์ˆ˜์‹  ์™„๋ฃŒ"); }, 1000); });};fetchData().then(result => { console.log(result); // "๋ฐ์ดํ„ฐ ..
1๏ธโƒฃ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ ์ฝœ๋ฐฑ(์ฝœ๋ฐฑ ํ•จ์ˆ˜)์ด ๋ฌด์—‡์ธ์ง€ ์„ค๋ช…ํ•ด ์ฃผ์„ธ์š”.๐Ÿท๏ธ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ ์ฝœ๋ฐฑ ํ•จ์ˆ˜๋Š” ๋‹ค๋ฅธ ํ•จ์ˆ˜์˜ ์ธ์ž๋กœ ์ „๋‹ฌ๋˜์–ด, ํ•ด๋‹น ํ•จ์ˆ˜๊ฐ€ ์ž‘์—…์„ ์™„๋ฃŒํ•œ ํ›„ ํ˜ธ์ถœ๋˜๋Š” "๋‚˜์ค‘์— ํ˜ธ์ถœ๋  ํ•จ์ˆ˜"์ž…๋‹ˆ๋‹ค.// ๊ฐ ๋ฐฐ์—ด์˜ ์š”์†Œ์— ์ฝœ๋ฐฑ ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœconst numbers = [1,2,3,4,5];numbers.forEach((number)=> console.log(number));์ฝœ๋ฐฑ ํ•จ์ˆ˜์˜ ๋ฌธ์ œ์ ๋งŽ์€ ์ฝœ๋ฐฑ ํ•จ์ˆ˜๊ฐ€ ์ค‘์ฒฉ๋˜๋ฉด ์ฝ”๋“œ๊ฐ€ ๋ณต์žกํ•˜๊ณ  ๊ฐ€๋…์„ฑ์ด ๋–จ์–ด์ง‘๋‹ˆ๋‹ค. ์ด๋ฅผ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด 'Promise', 'async/await'๊ณผ ๊ฐ™์€ ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ ๋ฐฉ๋ฒ•์ด ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.2๏ธโƒฃ ๋ฐฐ์—ด์— ์žˆ๋Š” filter, map๊ณผ ๊ฐ™์€ ๋ฉ”์„œ๋“œ์— ์žˆ๋Š” ์ฝœ๋ฐฑ๊ณผ setTimeout์— ์žˆ๋Š” ์ฝœ๋ฐฑ์˜ ์ฐจ์ด์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด ์ฃผ์„ธ์š”.๐Ÿท๏ธ filter๋‚˜ ..
๐Ÿšช ๋จผ์ € ์•Œ์•„์•ผํ•  ๊ฐœ๋…์ปดํฌ๋„ŒํŠธ ์–ธ๋งˆ์šดํŠธ๋ž€ ?์ปดํฌ๋„ŒํŠธ ์–ธ๋งˆ์šดํŠธ(Unmount)๋Š” React ์ปดํฌ๋„ŒํŠธ๊ฐ€ DOM์—์„œ ์ œ๊ฑฐ๋˜๋Š” ์ƒํƒœ๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, ์ปดํฌ๋„ŒํŠธ๊ฐ€ ํ™”๋ฉด์—์„œ ์‚ฌ๋ผ์ง€๊ฑฐ๋‚˜ ๋” ์ด์ƒ ํ•„์š” ์—†์„ ๋•Œ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.์ผ๋ฐ˜์ ์œผ๋กœ ์ปดํฌ๋„ŒํŠธ๊ฐ€ ์–ธ๋งˆ์šดํŠธ๋˜๋Š” ๊ฒฝ์šฐ ๐Ÿ’ญ์‚ฌ์šฉ์ž๊ฐ€ ํŽ˜์ด์ง€๋ฅผ ์ด๋™ํ•  ๋•Œ์กฐ๊ฑด๋ถ€ ๋ Œ๋”๋ง์„ ํ†ตํ•ด ์ปดํฌ๋„ŒํŠธ๊ฐ€ ์ˆจ๊ฒจ์ง€๊ฑฐ๋‚˜ ์ œ๊ฑฐ๋  ๋•Œ๋ถ€๋ชจ ์ปดํฌ๋„ŒํŠธ๊ฐ€ ์–ธ๋งˆ์šดํŠธ๋  ๋•Œ ์ด๋ฒคํŠธ ๋ฆฌ์Šค๋„ˆ์™€ ํด๋ฆฐ์—…์ด๋ฒคํŠธ ๋ฆฌ์Šค๋„ˆ๋Š” ๋ธŒ๋ผ์šฐ์ €์—์„œ ํŠน์ • ์ด๋ฒคํŠธ(์˜ˆ: ํด๋ฆญ, ๋ฆฌ์‚ฌ์ด์ฆˆ, ์ž…๋ ฅ ๋“ฑ)๊ฐ€ ๋ฐœ์ƒํ•  ๋•Œ ํ˜ธ์ถœ๋˜๋Š” ํ•จ์ˆ˜์ž…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, window.addEventListener('resize', handleResize)๋Š” ๋ธŒ๋ผ์šฐ์ € ์ฐฝ์˜ ํฌ๊ธฐ๊ฐ€ ์กฐ์ •๋  ๋•Œ๋งˆ๋‹ค handleResize ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•ฉ๋‹ˆ๋‹ค. ์™œ ํด๋ฆฐ์—…์ด ํ•„์š”ํ•œ๊ฐ€?์ปดํฌ๋„ŒํŠธ๊ฐ€ ์–ธ๋งˆ์šดํŠธ..
yyezzzy
'๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก (8 Page)