๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ป Dev/Front-End

์ œ๋„ค๋ฆญ(Generic)์ด๋ž€?C๋‚˜ ์ž๋ฐ” ๊ฐ™์€ ์ •์  ์–ธ์–ด์—์„œ ๋‹ค์–‘ํ•œ ํƒ€์ž… ๊ฐ„์— ์žฌ์‚ฌ์šฉ์„ฑ์„ ๋†’์ด๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๋Š” ๋ฌธ๋ฒ•์ด๋‹ค. ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ๋„ ์ •์  ํƒ€์ž…์„ ๊ฐ€์ง€๋ฏ€๋กœ ์ œ๋„ค๋ฆญ ๋ฌธ๋ฒ•์„ ์ง€์›ํ•œ๋‹ค.์ œ๋„ค๋ฆญ์˜ ์‚ฌ์ „์  ์˜๋ฏธ๋Š” ์ผ๋ฐ˜์ ์ธ ๊ฒƒ(general)์„ ๋œปํ•˜๋Š”๋ฐ, ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ์˜ ์ œ๋„ค๋ฆญ๋„ ์ด์™€ ๋น„์Šทํ•˜๊ฒŒ '์ผ๋ฐ˜ํ™”๋œ ๋ฐ์ดํ„ฐ' ํƒ€์ž…์ด๋ผ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.์ œ๋„ค๋ฆญ: ํ•จ์ˆ˜, ํƒ€์ž…, ํด๋ž˜์Šค ๋“ฑ์—์„œ ๋‚ด๋ถ€์ ์œผ๋กœ ์‚ฌ์šฉํ•  ํƒ€์ž…์„ ๋ฏธ๋ฆฌ ์ •ํ•ด๋‘์ง€ ์•Š๊ณ  ํƒ€์ž… ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•ด์„œ ํ•ด๋‹น ์œ„์น˜๋ฅผ ๋น„์›Œ ๋‘” ๋‹ค์Œ์—, ์‹ค์ œ๋กœ ๊ทธ ๊ฐ’์„ ์‚ฌ์šฉํ•  ๋•Œ ์™ธ๋ถ€์—์„œ ํƒ€์ž… ๋ณ€์ˆ˜ ์ž๋ฆฌ์— ํƒ€์ž…์„ ์ง€์ •ํ•˜์—ฌ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ์‹-> ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ํ•จ์ˆ˜, ํƒ€์ž…, ํด๋ž˜์Šค ๋“ฑ ์—ฌ๋Ÿฌ ํƒ€์ž…์— ๋Œ€ํ•ด ํ•˜๋‚˜ํ•˜๋‚˜ ๋”ฐ๋กœ ์ •์˜ํ•˜์ง€ ์•Š์•„๋„ ๋˜๊ธฐ ๋•Œ๋ฌธ์— ์žฌ์‚ฌ์šฉ์„ฑ์ด ํฌ๊ฒŒ ํ–ฅ์ƒ๋œ๋‹ค.ํƒ€์ž… ๋ณ€์ˆ˜๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ์™€ ๊ฐ™์ด ๊บพ์‡ ๊ด„ํ˜ธ ๋‚ด๋ถ€์—..
ํ”„๋ก ํŠธ์—”๋“œ ๊ฐœ๋ฐœ์—์„œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์™€ ํ”„๋ ˆ์ž„์›Œํฌ๋Š” ์„œ๋กœ ๋‹ค๋ฅธ ์—ญํ• ์„ ์ˆ˜ํ–‰ํ•˜๋ฉฐ, ๊ฐœ๋ฐœ์ž์—๊ฒŒ ์ œ๊ณตํ•˜๋Š” ๊ธฐ๋Šฅ๊ณผ ์‚ฌ์šฉ ๋ฐฉ์‹์—์„œ๋„ ์ฐจ์ด๊ฐ€ ์žˆ๋‹ค. 1. ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์™€ ํ”„๋ ˆ์ž„์›Œํฌ์˜ ๊ธฐ๋ณธ ๊ฐœ๋…๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ(Library)๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ํŠน์ • ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๋„๊ตฌ๋“ค์˜ ์ง‘ํ•ฉ. ๊ฐœ๋ฐœ์ž๋Š” ํ•„์š”ํ•  ๋•Œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ํ˜ธ์ถœํ•˜์—ฌ ํŠน์ • ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค.๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ํ๋ฆ„์„ ์ง์ ‘ ์ œ์–ดํ•˜์ง€ ์•Š๋Š”๋‹ค. ๋Œ€์‹ , ๊ฐœ๋ฐœ์ž๊ฐ€ ํ•„์š”ํ•œ ๊ธฐ๋Šฅ์„ ์„ ํƒ์ ์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.ํ”„๋ ˆ์ž„์›Œํฌ(Framework)ํ”„๋ ˆ์ž„์›Œํฌ๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๊ธฐ๋ณธ ๊ตฌ์กฐ๋ฅผ ์ œ๊ณตํ•˜๊ณ , ๊ทธ ์•ˆ์—์„œ ๊ฐœ๋ฐœ์ด ์ด๋ฃจ์–ด์ง€๋„๋ก ํ•œ๋‹ค. ํ”„๋ ˆ์ž„์›Œํฌ๋Š” ์ฝ”๋“œ์˜ ํ๋ฆ„์„ ์ œ์–ดํ•˜๋ฉฐ, ๊ฐœ๋ฐœ์ž๋Š” ํ”„๋ ˆ์ž„์›Œํฌ๊ฐ€ ์ œ์‹œํ•˜๋Š” ๋ฐฉ์‹์— ๋งž์ถ”์–ด ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ด์•ผ ํ•œ๋‹ค.ํ”„๋ ˆ์ž„์›Œํฌ๋Š” “์ œ์–ด์˜ ์—ญ์ „(Inversion of Control..
CSSCascading Style SheetsHTML ๊พธ๋ฉฐ์ฃผ๋Š” ์–ธ์–ด๋ฌธ์„œ ํ†ต์งธ๋กœ๊ฐ€ ์•„๋‹Œ, HTML ํ•˜๋‚˜ํ•˜๋‚˜ ๊พธ๋ฉฐ์คŒHTML์— CSS ์ ์šฉ ๋ฐฉ๋ฒ• 3๊ฐ€์ง€์ธ๋ผ์ธ (inline): HTML ํƒœ๊ทธ ์•ˆ์— ๊ฐ™์ด ์ž‘์„ฑ๋‚ด๋ถ€ ์Šคํƒ€์ผ ์‹œํŠธ (internal style sheet): HTML ๋ฌธ์„œ ์•ˆ์— ๊ฐ™์ด ์ž‘์„ฑ์™ธ๋ถ€ ์Šคํƒ€์ผ ์‹œํŠธ (external style sheet): HTML ๋ฌธ์„œ ๋ฐ–์— ์ž‘์„ฑํ•˜๊ณ  ์—ฐ๊ฒฐ* HTML ํƒœ๊ทธ ํ•œ์Œ์„ element๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค.  JavaScriptํŠน์ • HTML์š”์†Œ๋ฅผ ์„ ํƒํ•˜์—ฌ ์ œ์–ดํ•  ์ˆ˜ ์žˆ๋Š” ์Šคํฌ๋ฆฝํŠธ ์–ธ์–ด์Šคํฌ๋ฆฝํŠธ ์–ธ์–ด๋ž€?๋…๋ฆฝ์ ์ธ ํ”„๋กœ๊ทธ๋žจ์„ ๊ฐœ๋ฐœํ•  ์ˆ˜ ์žˆ๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๊ฐ€ ์•„๋‹Œ, (ํ”„๋กœ๊ทธ๋žจ ๋‚ด๋ถ€์˜ ๊ตฌ์„ฑ ์š”์†Œ ์ค‘ ํ•˜๋‚˜๋กœ) ํ”„๋กœ๊ทธ๋žจ์„ ์ œ์–ดํ•˜๋Š” ์Šคํฌ๋ฆฝํŠธ ์—ญํ• ์„ ํ•˜๋Š” ์–ธ์–ด-> ๋Ÿฐํƒ€์ž„์˜ ๋ฐœ์ „์œผ๋กœ, ์Šคํฌ๋ฆฝํŠธ ์–ธ์–ด๋งŒ..
DOCTYPEDocument Type์˜ ์•ฝ์ž.HTML์ด ์–ด๋–ค ๋ฒ„์ „์œผ๋กœ ์ž‘์„ฑ๋˜์—ˆ๋Š”์ง€ ๋ฏธ๋ฆฌ ์„ ์–ธํ•˜์—ฌ ์›น๋ธŒ๋ผ์šฐ์ €๊ฐ€ ๋‚ด์šฉ์„ ์˜ฌ๋ฐ”๋กœ ํ‘œ์‹œํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ด์ค€๋‹ค.์ด๋ฅผ ์„ ์–ธํ•ด์ฃผ์ง€ ์•Š์œผ๋ฉด, ํ˜ธํ™˜ ๋ชจ๋“œ(quirks mode)๋กœ ๋™์ž‘ํ•˜๋ฉฐ, ์ด ๊ฒฝ์šฐ ํฌ๋กœ์Šค ๋ธŒ๋ผ์šฐ์ง• ์ด์Šˆ๊ฐ€ ์‹ฌํ•ด์ง€๊ฒŒ ๋œ๋‹ค. ํ‘œ์ค€ ๋ชจ๋“œ์™€ ํ˜ธํ™˜ ๋ชจ๋“œW3C๊ฐ€ ์›น ํ‘œ์ค€์„ ๋งŒ๋“ค๋ฉด์„œ, ๋ Œ๋”๋ง์„ ํ•  ๋•Œ ํ‘œ์ค€ ๋ชจ๋“œ(Standards mode)์™€ ํ˜ธํ™˜ ๋ชจ๋“œ(Quirks mode)๋กœ ๋ Œ๋”๋งํ•  ์ˆ˜ ์žˆ๋Š” ์˜ต์…˜์ด ์ƒ๊ฒผ๋‹ค. ํ˜ธํ™˜ ๋ชจ๋“œ๋กœ ๋ Œ๋”๋ง์„ ํ•˜๊ฒŒ ๋˜๋ฉด ์˜ค๋ž˜๋œ ์›นํŽ˜์ด์ง€๋“ค์„ ์ตœ์‹  ๋ฒ„์ „์˜ ๋ธŒ๋ผ์šฐ์ €์—์„œ๋„ ๊นจ์ง€์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ ๋ธŒ๋ผ์šฐ์ €๋งˆ๋‹ค ๋‹ค๋ฅด๊ฒŒ ๋ณด์ผ ์ˆ˜ ์žˆ๋‹ค.๋”ฐ๋ผ์„œ ํŠน๋ณ„ํ•œ ๊ฒฝ์šฐ๊ฐ€ ์•„๋‹ˆ๋ผ๋ฉด DOCTYPE์„ ๋ช…์‹œํ•˜์—ฌ ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ํ‘œ์ค€ ๋ชจ๋“œ๋กœ ๋ Œ๋”๋งํ•˜๊ฒŒ ํ•˜๋Š” ๊ฒŒ ์ข‹๋‹ค.https://develo..
์›น์˜ ์ดํ•ด์ธํ„ฐ๋„ท๊ณผ ์›น์ธํ„ฐ๋„ท (Internet): ์ „ ์„ธ๊ณ„ ์ปดํ“จํ„ฐ๋ฅผ ํ•˜๋‚˜์˜ ํ†ต์‹ ๋ง์œผ๋กœ ์—ฐ๊ฒฐํ•œ ๊ฒƒ. '์šฐ๋ฆฌ๋Š” ๋ชจ๋‘ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๋‹ค'๋Š” ๊ฐœ๋…์„ ์ƒ์ง•.์›น (Web): ์ธํ„ฐ๋„ท์— ์—ฐ๊ฒฐ๋œ ์ปดํ“จํ„ฐ๋ฅผ ํ†ตํ•ด ์ •๋ณด๋ฅผ ๊ณต์œ ํ•˜๋Š” ๊ณต๊ฐ„. ์›”๋“œ ์™€์ด๋“œ ์›น (World Wide Web, WWW)์ด๋ผ๊ณ ๋„ ๋ถˆ๋ฆผ.์›น์˜ ์‹œ์ž‘๊ณผ ํŠน์ง•1980๋…„๋Œ€ ์Šค์œ„์Šค ์œ ๋Ÿฝ ์ž…์ž ๋ฌผ๋ฆฌ ์—ฐ๊ตฌ์†Œ์—์„œ ํŒ€ ๋ฒ„๋„ˆ์Šค๋ฆฌ๊ฐ€ ์—ฐ๊ตฌ์›๋“ค ๊ฐ„ ๋น ๋ฅธ ์ •๋ณด ๊ตํ™˜์„ ์œ„ํ•ด ๊ณ ์•ˆ.ํŠน์ง•: ์ •๋ณด๋ฅผ ํ•˜์ดํผํ…์ŠคํŠธ ํ˜•์‹์œผ๋กœ ํ‘œํ˜„ํ•˜๊ณ , ๋งํฌ๋ฅผ ํ†ตํ•ด ๋‹ค์–‘ํ•œ ์ •๋ณด์™€ ๋ฌธ์„œ๋ฅผ ์—ฐ๊ฒฐํ•ด ์ œ๊ณต.์›น ํŽ˜์ด์ง€์™€ ์›น ์‚ฌ์ดํŠธ์›น ํŽ˜์ด์ง€ ๊ฐ„ ๋งํฌ๋ฅผ ํ†ตํ•ด ์ด๋™ํ•˜๋Š” ๊ฒƒ: ์›น ์„œํ•‘ (Web Surfing) ๋˜๋Š” ์›น ๋ธŒ๋ผ์šฐ์ง• (Web Browsing).์›น ๋ธŒ๋ผ์šฐ์ €์›น ํŽ˜์ด์ง€๋‚˜ ์›น ์ƒ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ฐพ๊ณ  ์ฝ์„ ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ๋„๊ตฌ.์›น์˜ ๊ตฌ์กฐํด..
ํ”„๋ก ํŠธ ๊ฐœ๋ฐœ์„ ํ•  ๋•Œ ์•„์ด์ฝ˜์€ ํ•„์ˆ˜ ์š”์†Œ๋‹ค. ์ฒ˜์Œ html css๋ฅผ ๋ฐฐ์› ์„ ๋•Œ font awesome ์„ ์‚ฌ์šฉํ•ด์„œ, ๊ณ„์† ์—ฌ๊ธฐ์„œ ์•„์ด์ฝ˜์„ ์ฐพ์•˜์—ˆ๋Š”๋ฐ ์œ ๋ฃŒ๋„ ๋งŽ๊ณ  ํ•œ์ •์ ์ด๋ผ ์•„์‰ฌ์›€์ด ์žˆ์—ˆ๋‹ค. ์•ž์œผ๋กœ๋Š” ๋ฆฌ์•กํŠธ ํ”„๋กœ์ ํŠธ ์•„์ด์ฝ˜์€ React Icons์—์„œ ์ฐพ๋„๋ก ํ•˜์ž! ๋‹ค์–‘ํ•œ Font Awesome, Ant Design, Bootstrap, Material Design ๋“ฑ ๋ฆฌ์•กํŠธ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์œ ์šฉํ•œ ์•„์ด์ฝ˜๋“ค์„ ๋ชจ๋‘ ์ฐพ์„ ์ˆ˜ ์žˆ๋‹ค. ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๊ฐ„๋‹จํ•˜๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. yarn add react-icons # or npm install react-icons --save import { FaBeer } from "react-icons/fa"; function Question() { return ( Lets..
์ž๋™ ๋ง์ค„์ž„ ์ฒ˜๋ฆฌ ํ…์ŠคํŠธ๊ฐ€ ๋„˜์น  ๋•Œ, ์ž๋™์œผ๋กœ ๋ง์ค„์ž„ ์ฒ˜๋ฆฌ๋ฅผ ํ•ด์ค˜์•ผํ•  ๋•Œ๊ฐ€ ์žˆ๋‹ค. ์ด๋•Œ ํ…์ŠคํŠธ๋ฅผ ์ถ•์•ฝํ•˜๋Š” ๊ธฐ์ค€์œผ๋กœ๋Š” ํฌ๊ฒŒ ๋‘ ๊ฐ€์ง€๊ฐ€ ์žˆ๋‹ค. ๊ธ€์ž์ˆ˜์— ๋”ฐ๋ผ ์ถ•์•ฝ CSS ellipsis ๊ฐ๊ฐ์˜ ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ณด์ž! ๊ธ€์ž์ˆ˜์— ๋”ฐ๋ผ ์ถ•์•ฝ ํ…์ŠคํŠธ ๊ธ€์ž ์ˆ˜์— ๋”ฐ๋ผ ์กฐ๊ฑด๋ถ€ ๋ Œ๋”๋ง์„ ํ•ด์ฃผ๋ฉด ๋œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ž˜๋ฆฐ ํ…์ŠคํŠธ์— ๋งˆ์šฐ์Šค๋ฅผ ์˜ฌ๋ฆฌ๋ฉด (hover ํ•˜๋ฉด) ์ „์ฒด ํ…์ŠคํŠธ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ๋„๋ก Tooltip์œผ๋กœ ๋„์›Œ์ค„ ์ˆ˜ ์žˆ๋‹ค. ์•„๋ž˜๋Š” name์ด 10์ž๋ฅผ ๋„˜์œผ๋ฉด ์•ž์—์„œ๋ถ€ํ„ฐ 10์ž๋ฅผ ๋ณด์—ฌ์ฃผ๊ณ , ๋’ท ๋ถ€๋ถ„์€ '...'์œผ๋กœ ์ž˜๋ผ์„œ ๋ณด์—ฌ์ฃผ๋Š” ์ฝ”๋“œ ์˜ˆ์‹œ์ด๋‹ค. ( ๋ฐ์ดํ„ฐ๊ฐ€ ์—†์„ ๋•Œ '-' ๋ฅผ ์ถœ๋ ฅํ•˜๋„๋ก ํ•˜๋Š” ์กฐ๊ฑด๋ถ€ ๋ Œ๋”๋ง๋„ ํฌํ•จ๋˜์–ด ์žˆ๋‹ค.) cell: ({ row: { original } }) => { return original.name ? (..
Context๋ž€? : Props Drilling์˜ ๋Œ€์•ˆ Context๋Š” ์ปดํฌ๋„ŒํŠธ์—์„œ Props๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ๋„˜๊ฒจ์ฃผ๋Š” ๋ฐฉ์‹์ด๋‹ค. ํŠน์ • ๋ฐ์ดํ„ฐ๋ฅผ ์ปดํฌ๋„ŒํŠธ ํŠธ๋ฆฌ ์ „์ฒด์— ๊ฑธ์ณ ์‰ฝ๊ฒŒ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค€๋‹ค. Context๋Š” Props Drilling ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•ด ์ค„ ์ˆ˜ ์žˆ๋‹ค. Props Drilling : ์ค‘์ฒฉ๋œ ์—ฌ๋Ÿฌ ๊ณ„์ธต์˜ ์ปดํฌ๋„ŒํŠธ์—๊ฒŒ props ์ „๋‹ฌ. ๋ฌธ์ œ์ : ํŠน์ • prop์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ์ปดํฌ๋„ŒํŠธ๋“ค์—๊ฒŒ๋„ ํ•ด๋‹น prop์„ ๋‚ด๋ ค์ฃผ์–ด์•ผ ํ•˜๋Š” ๋น„ํšจ์œจ. ๊ฐ€๋…์„ฑ ํ•˜๋ฝ. ์ปดํฌ๋„ŒํŠธ ๊ฒฐํ•ฉ๋„ ์ƒ์Šน์œผ๋กœ ๋ถˆํ•„์š”ํ•œ ๋ฆฌ๋ Œ๋”๋ง ๋ฐœ์ƒ ๊ฐ€๋Šฅ, ์ฝ”๋“œ์˜ ๋ณต์žก๋„ ์ฆ๊ฐ€ context๋Š” ๋ฆฌ์•กํŠธ ๋ฒ„์ „ 16๋ถ€ํ„ฐ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋ฆฌ์•กํŠธ ๋‚ด์žฅ API๋กœ, ์–ด๋–ค ๋ฆฌ์•กํŠธ ํ”„๋กœ์ ํŠธ๋ผ๋„ ๋ฆฌ์•กํŠธ๋ฅผ import ํ•˜๋ฉด context๋ฅผ ๋ฐ”๋กœ ์ƒ์„ฑํ•˜๊ณ  ..
React์—์„œ ์ปดํฌ๋„ŒํŠธ์˜ ์ƒ๋ช…์ฃผ๊ธฐ๋Š” ํฌ๊ฒŒ ์„ธ ๋‹จ๊ณ„๋กœ ๊ตฌ๋ถ„๋œ๋‹ค. : ๋งˆ์šดํŒ…(Mounting), ์—…๋ฐ์ดํŠธ(Updating), ๊ทธ๋ฆฌ๊ณ  ์–ธ๋งˆ์šดํŒ…(Unmounting) ๊ฐ ๋‹จ๊ณ„๋Š” ์ปดํฌ๋„ŒํŠธ์˜ ์ƒ์„ฑ, ์—…๋ฐ์ดํŠธ ๋ฐ ํŒŒ๊ดด ๊ณผ์ •์— ํ•ด๋‹นํ•œ๋‹ค. 1. ๋งˆ์šดํŒ…(Mounting) ์ด ๋‹จ๊ณ„๋Š” ์ปดํฌ๋„ŒํŠธ๊ฐ€ ์ฒ˜์Œ์œผ๋กœ ์ƒ์„ฑ๋˜์–ด DOM์— ์‚ฝ์ž…๋˜๋Š” ๊ณผ์ •์ด๋‹ค. ๋งˆ์šดํŠธ ๊ณผ์ •์—์„œ๋Š” ์ฒ˜์Œ์œผ๋กœ render ๋ฉ”์„œ๋“œ๊ฐ€ ํ˜ธ์ถœ๋˜์–ด ์ปดํฌ๋„ŒํŠธ๊ฐ€ ํ™”๋ฉด์— ๋ Œ๋”๋ง ๋œ๋‹ค. ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ƒ๋ช…์ฃผ๊ธฐ ๋ฉ”์„œ๋“œ๊ฐ€ ๋งˆ์šดํŒ… ๋‹จ๊ณ„์—์„œ ํ˜ธ์ถœ๋œ๋‹ค. (์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” ์ƒ๋ช…์ฃผ๊ธฐ ๋ฉ”์„œ๋“œ๋Š” ๋ณผ๋“œ์ฒด) constructor(): ์ปดํฌ๋„ŒํŠธ์˜ ์ƒ์„ฑ์ž. ์ปดํฌ๋„ŒํŠธ์˜ ์ดˆ๊ธฐ ์ƒํƒœ๋ฅผ ์„ค์ •ํ•œ๋‹ค. static getDerivedStateFromProps(): ์ปดํฌ๋„ŒํŠธ๊ฐ€ ๋งˆ์šดํŠธ ๋˜๊ธฐ ์ „์— ํ˜ธ์ถœ๋œ๋‹ค. props์— ์˜ํ•ด ..
useMemo ์‚ฌ์šฉ ๋ชฉ์  useMemo๋Š” React์—์„œ ์ œ๊ณตํ•˜๋Š” ํ›…(Hook) ์ค‘ ํ•˜๋‚˜๋กœ, ์ฃผ๋กœ ๋‘ ๊ฐ€์ง€ ๋ชฉ์ ์œผ๋กœ ์‚ฌ์šฉ๋œ๋‹ค. ๊ณ„์‚ฐ ๋น„์šฉ์ด ๋†’์€ ์—ฐ์‚ฐ์˜ ๊ฒฐ๊ณผ๋ฅผ ์ €์žฅํ•˜๊ณ  ์žฌ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด - ๋งŒ์•ฝ ์ปดํฌ๋„ŒํŠธ๊ฐ€ ๊ณ„์‚ฐ ๋น„์šฉ์ด ๋งŽ์ด ๋“œ๋Š” ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•˜๊ณ , ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ์—ฌ๋Ÿฌ ๋ฒˆ ์žฌ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค๋ฉด useMemo๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ•ด๋‹น ๊ฒฐ๊ณผ๋ฅผ ์ €์žฅํ•˜๊ณ  ํ•„์š”ํ•  ๋•Œ ์žฌ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ์ฐธ์กฐ ๋™์ผ์„ฑ(Reference Equality)์„ ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•ด - React์—์„œ ๊ฐ์ฒด๋‚˜ ๋ฐฐ์—ด๊ณผ ๊ฐ™์€ ๋ณต์žกํ•œ ๋ฐ์ดํ„ฐ ํƒ€์ž…์„ props๋กœ ๋„˜๊ธธ ๋•Œ, ์ด ๋ฐ์ดํ„ฐ๊ฐ€ ๋งค๋ฒˆ ์ƒˆ๋กœ ์ƒ์„ฑ๋˜๋ฉด ์ž์‹ ์ปดํฌ๋„ŒํŠธ๊ฐ€ ๋ถˆํ•„์š”ํ•˜๊ฒŒ ์žฌ๋ Œ๋”๋ง๋  ์ˆ˜ ์žˆ๋‹ค. useMemo๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ด๋Ÿฌํ•œ ๊ฐ์ฒด๋‚˜ ๋ฐฐ์—ด์„ ์ €์žฅํ•˜๋ฉด, ์ปดํฌ๋„ŒํŠธ์˜ ๋ฆฌ๋ Œ๋”๋ง์ด ๋ฐœ์ƒํ•ด๋„ ๋™์ผํ•œ ์ฐธ์กฐ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ๋‹ค...
yesolz
'๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ป Dev/Front-End' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก