Frontend ๐Ÿ“š 41

[React] ๋ฆฌ์•กํŠธ ๊ธฐ์ˆ  ๋ฉด์ ‘ ํ•ธ๋“œ๋ถ V - useLayoutEffect, ์ด๋ฒคํŠธ ํ•ธ๋“ค๋ง etc.

1. useLayoutEffect2. ์ปดํฌ๋„ŒํŠธ ์ด๋ฒคํŠธ ํ•ธ๋“ค๋ง1. useLayoutEffect ์ด๋ž€ โญ๏ธ๋ฆฌ์•กํŠธ ํ›… ํ•จ์ˆ˜๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ํ•œ ์ƒ๋ช…์ฃผ๊ธฐ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Œ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ๋ Œ๋”๋ง๋  ๋•Œ .jsํŒŒ์ผ์€ ๋ธŒ๋ผ์šฐ์ €์—์„œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์—”์ง„์œผ๋กœ ๊ถŒํ•œ์„ ๋„˜๊ฒจ .js ํ•ด๋‹น ํŒŒ์ผ์„ ํŒŒ์‹ฑํ•˜๊ณ  ๊ทธ๋ฆฌ๊ฒŒ ๋จ์œ„ ๊ทธ๋ฆผ์˜ ํ›… ๋ผ์ดํ”„ ์‚ฌ์ดํด์„ ๋ณด๋‹ค์‹œํ”ผ ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์Šคํฌ๋ฆฐ์— ํŽ˜์ธํŒ… ์ž‘์—…์ด ์™„๋ฃŒ๋œ ์ดํ›„ useEffect๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๊ตฌ์กฐ๋ฅผ ๊ฐ€์กŒ์Œ๋”ฐ๋ผ์„œ ์•„๋ž˜ ์ฝ”๋“œ์™€ ๊ฐ™์ด ๋ Œ๋”๋งํ•  ๋•Œ useState(0)๊ณผ ๊ฐ™์€ ์ดˆ๊ธฐ useState์˜ ๊ฐ’์ด ๋นˆ ๊ฐ’์ด๋ผ๋ฉด, 0์„ ์ถœ๋ ฅํ–ˆ๋‹ค๊ฐ€ useEffect๋ฅผ ํ†ตํ•ด ์ฑ„์›Œ์ง€๋Š” ๊ตฌ์กฐ๋ฅผ ๋”// ์ฝ”๋“œ ์ฐธ๊ณ : https://merrily-code.tistory.com/46import { useEffect, useState } from..

[React] ๋ฆฌ์•กํŠธ ๊ธฐ์ˆ  ๋ฉด์ ‘ ํ•ธ๋“œ๋ถ IV - ์ปดํฌ๋„ŒํŠธ ๋ผ์ดํ”„ ์‚ฌ์ดํด, Hooks etc.

1. ์ปดํฌ๋„ŒํŠธ์˜ ๋ผ์ดํ”„ ์‚ฌ์ดํด ๋ฉ”์„œ๋“œ2. Hooks์˜ ์ข…๋ฅ˜3. useMemo vs. useCallBack4. setState๋Š” ๋น„๋™๊ธฐ1. ์ปดํฌ๋„ŒํŠธ์˜ ๋ผ์ดํ”„ ์‚ฌ์ดํด ๋ฉ”์„œ๋“œ โญ๏ธโญ๏ธ- will~ ๋ฉ”์„œ๋“œ: ์–ด๋–ค ์ž‘์—…์„ ์ž‘๋™ํ•˜๊ธฐ ์ „์— ์‹คํ–‰๋˜๋Š” ๋ฉ”์„œ๋“œ- Did~ ๋ฉ”์„œ๋“œ: ์–ด๋–ค ์ž‘์—…์„ ์ž‘๋™ํ•œ ํ›„์— ์‹คํ–‰๋˜๋Š” ๋ฉ”์„œ๋“œ๋ฉ”์„œ๋“œ๋Š” ์ปดํฌ๋„ŒํŠธ ํด๋ž˜์Šค์—์„œ ๋ฎ์–ด ์จ ์„ ์–ธํ•จ์œผ๋กœ์จ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Œ๋ผ์ดํ”„์‚ฌ์ดํด์€ ์ด ์„ธ ๊ฐ€์ง€, ์ฆ‰ ๋งˆ์šดํŠธ, ์—…๋ฐ์ดํŠธ, ์–ธ๋งˆ์šดํŠธ ์นดํ…Œ๊ณ ๋ฆฌ๋กœ ๋‚˜๋ˆ”๋งˆ์šดํŠธ โญ๏ธDOM์ด ์ƒ์„ฑ๋˜๊ณ  ์›น ๋ธŒ๋ผ์šฐ์ €์ƒ์— ๋‚˜ํƒ€๋‚˜๋Š” ๊ฒƒ์„ ๋งˆ์šดํŠธ๋ผ๊ณ  ํ•จcomponentDidMount: ์ปดํฌ๋„ŒํŠธ๊ฐ€ ์›น ๋ธŒ๋ผ์šฐ์ €์ƒ์— ๋‚˜ํƒ€๋‚œ ํ›„ ํ˜ธ์ถœํ•˜๋Š” ๋ฉ”์„œ๋“œ์—…๋ฐ์ดํŠธ โญ๏ธ์ปดํฌ๋„ŒํŠธ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋„ค ๊ฐ€์ง€ ๊ฒฝ์šฐ ์—…๋ฐ์ดํŠธProps๊ฐ€ ๋ฐ”๋€” ๋•Œstate๊ฐ€ ๋ฐ”๋€” ๋•Œ๋ถ€๋ชจ ์ปดํฌ๋„ŒํŠธ๊ฐ€ ..

[React] ๋ฆฌ์•กํŠธ ๊ธฐ์ˆ  ๋ฉด์ ‘ ํ•ธ๋“œ๋ถ III - FLUX, ๋ฆฌ๋•์Šค, state ๋ถˆ๋ณ€์„ฑ, ๋ฆฌ๋“€์„œ ๋ถˆ๋ณ€์„ฑ, side effect etc.

1. FLUX๋ž€2. ๋ฆฌ๋•์Šค๋ž€3. React์—์„œ state ๋ถˆ๋ณ€์„ฑ4. ๋ฆฌ๋“€์„œ ๋‚ด๋ถ€์˜ ๋ถˆ๋ณ€์„ฑ๊ณผ ...์—ฐ์‚ฐ์ž์˜ ๋‹จ์  ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•5. side effect ๋ฌธ์ œ์ 1. FLUX ๋ž€ โญ๏ธโญ๏ธFLUX๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋‚˜ ํ”„๋ ˆ์ž„์›Œํฌ๊ฐ€ ์•„๋‹Œ ์ถ”์ƒ์ ์ธ ๊ฐœ๋…์ž„MVC ํŒจํ„ด์—์„œ ์Œ๋ฐฉํ–ฅ์ ์ธ ๋ฐ์ดํ„ฐ ํ๋ฆ„์„ ๊ฐ•์กฐํ–ˆ๋˜ ๊ฒƒ๊ณผ ๋‹ฌ๋ฆฌ FLUX ํŒจํ„ด์—์„œ๋Š” ๋‹จ๋ฐฉํ–ฅ ๋ฐ์ดํ„ฐ ํ๋ฆ„์„ ๊ฐ•์กฐํ•จMVC ํŒจํ„ด์‚ฌ์šฉ์ž์˜ ์–ด๋– ํ•œ ํ–‰์œ„(์•ก์…˜)๊ฐ€ ์žˆ์„ ๋•Œ, ์ด๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ์„ค๊ณ„๋œ ์ปจํŠธ๋กค๋Ÿฌ๋ฅผ ํ†ตํ•ด ๋ชจ๋ธ์„ ๋ณ€ํ™”ํ•˜๊ณ  ์ด๋ฅผ ๋ทฐ์— ๋ฐ˜์˜ํ•จ๋ณด์—ฌ์ ธ์•ผ ํ•  ๋ทฐ๊ฐ€ ์ ๊ฑฐ๋‚˜, ๋ณ€๊ฒฝ๋  ๋ชจ๋ธ์ด ๋งŽ์ง€ ์•Š๋‹ค๋ฉด ๋งค์šฐ ํšจ์œจ์ ์ธ ๊ตฌ์กฐ์ž„ํ•˜์ง€๋งŒ, ๋ชจ๋ธ๊ณผ ๋ทฐ๊ฐ€ ๋ณต์žกํ•˜๊ฒŒ ์–ฝํ˜€ ์žˆ๋‹ค๋ฉด ์–ด๋–ค ๋ชจ๋ธ์ด ๋ณ€ํ™”๋˜์–ด ๋ทฐ๊ฐ€ ๋ณ€๊ฒฝ๋˜์—ˆ๋Š”์ง€ ์ œ๋Œ€๋กœ ํ™•์ธํ•  ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ๊ฐ€ ์ƒ๊น€FLUX ํŒจํ„ดMVC ํŒจํ„ด์˜ ๋‹จ์ ์„ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๋‚˜์˜จ ๋‹จ๋ฐฉํ–ฅ ..

[React] ๋ฆฌ์•กํŠธ ๊ธฐ์ˆ  ๋ฉด์ ‘ ํ•ธ๋“œ๋ถ II - ํ•จ์ˆ˜ ์ปจํฌ๋„ŒํŠธ, props, state etc.

1. React์—์„œ ํ•จ์ˆ˜ ์ปดํฌ๋„ŒํŠธ์™€ ํด๋ž˜์Šค ์ปดํฌ๋„ŒํŠธ์˜ ์ฐจ์ด2. props์™€ state์˜ ์ฐจ์ด1. React์—์„œ ํ•จ์ˆ˜ ์ปดํฌ๋„ŒํŠธ์™€ ํด๋ž˜์Šค ์ปดํฌ๋„ŒํŠธ์˜ ์ฐจ์ด โญ๏ธํด๋ž˜์Šค ์ปดํฌ๋„ŒํŠธ์˜ ๊ฒฝ์šฐ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ๊ตฌ์กฐ๋ฅผ ๋„๊ณ  ์žˆ์œผ๋ฉฐ, state๋ฅผ ์ดˆ๊ธฐํ™”ํ•˜๊ธฐ ์œ„ํ•ด constructor(์ƒ์„ฑ์ž) ํ•จ์ˆ˜๋ฅผ ํ•„์š”๋กœ ํ•จ์ƒ์„ฑ์ž ํ•จ์ˆ˜๋ฅผ ํ†ตํ•ด state๋ฅผ ์ดˆ๊ธฐํ™”ํ•ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํ•จ์ˆ˜ ์ปดํฌ๋„ŒํŠธ์— ๋น„ํ•ด ์ฝ”๋“œ๊ฐ€ ๊ธธ์–ด์ง€๊ณ , ์‚ฌ์ด์ฆˆ๊ฐ€ ์ปค์งˆ ์ˆ˜ ์žˆ์Œstate ๊ธฐ๋Šฅ ๋ฐ ๋ผ์ดํ”„ ์‚ฌ์ดํด ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ์ž„์˜ ๋ฉ”์„œ๋“œ๋ฅผ ์ •์˜ํ•  ์ˆ˜ ์žˆ์Œrender ํ•จ์ˆ˜๊ฐ€ ๊ผญ ์žˆ์–ด์•ผ ํ•˜๊ณ , ๊ทธ ์•ˆ์—์„œ ๋ณด์—ฌ ์ฃผ์–ด์•ผ ํ•  JSX๋ฅผ ๋ฐ˜ํ™˜ํ•ด์•ผ ํ•จํ•จ์ˆ˜ ์ปดํฌ๋„ŒํŠธ์˜ ๊ฒฝ์šฐHooks๋ฅผ ์‚ฌ์šฉํ•ด ์ƒ์„ฑ์ž ํ•จ์ˆ˜๋ฅผ ํ†ตํ•ด state๋ฅผ ์ดˆ๊ธฐํ™”ํ•˜์ง€ ์•Š๋”๋ผ๋„ ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅ(useState() ๋“ฑ)์„ ์–ธ..

[React] ๋ฆฌ์•กํŠธ ๊ธฐ์ˆ  ๋ฉด์ ‘ ํ•ธ๋“œ๋ถ I - virtual DOM, react fiber etc.

1. ๋ฆฌ์•กํŠธ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ธ๊ฐ€ ํ”„๋ ˆ์ž„์›Œํฌ์ธ๊ฐ€2. ๋ฆฌ์•กํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ 3. virtual DOM์ด๋ž€4. ๋ฆฌ์•กํŠธ ๋ Œ๋”๋ง5. ๋ฆฌ์•กํŠธ ํŒŒ์ด๋ฒ„ 6. ๋ฆฌ์•กํŠธ ํŒŒ์ด๋ฒ„ ํŠธ๋ฆฌ7. ๋ฆฌ์•กํŠธ ํŒŒ์ด๋ฒ„, DOM ๊ทธ๋ฆฌ๊ณ  virtual DOM์˜ ๊ด€๊ณ„8. ๋ Œ๋” ๋‹จ๊ณ„์™€ ์ปค๋ฐ‹ ๋‹จ๊ณ„1. ๋ฆฌ์•กํŠธ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ธ๊ฐ€ ํ”„๋ ˆ์ž„์›Œํฌ์ธ๊ฐ€ โญ๏ธ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌํŠน์ • ๊ธฐ๋Šฅ์— ๋Œ€ํ•œ API(๋„๊ตฌ/ํ•จ์ˆ˜)๋ฅผ ๋ชจ์€ ์ง‘ํ•ฉํ”„๋ ˆ์ž„์›ŒํฌApplication ๊ฐœ๋ฐœ์‹œ ์ฝ”๋“œ์˜ ํ’ˆ์งˆ, ํ•„์ˆ˜์ ์ธ ์ฝ”๋“œ, ์•Œ๊ณ ๋ฆฌ์ฆ˜, ์•”ํ˜ธํ™”, ๋ฐ๋ฒ  ์—ฐ๋™ ๊ฐ™์€ ๊ธฐ๋Šฅ๋“ค์„ ์–ด๋Š ์ •๋„ ๊ตฌ์„ฑ์ด ๋˜์–ด์žˆ๋Š” ๋ผˆ๋Œ€(๊ตฌ์กฐ)๋ฅผ ์ œ๊ณตํ•˜๋„๋ก ๋งŒ๋“ค์–ด์ง„ ๊ฒƒ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ vs. ํ”„๋ ˆ์ž„์›Œํฌ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ฝ”๋“œ๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ๋ฆ„์„ ์ง์ ‘ ์ œ์–ดํ•จ๋‹จ์ง€ ๋™์ž‘ํ•˜๋Š” ์ค‘์— ํ•„์š”ํ•œ ๊ธฐ๋Šฅ์ด ์žˆ์„ ๋•Œ ๋Šฅ๋™์ ์œผ๋กœ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•  ๋ฟ์ž„ํ”„๋ ˆ์ž„์›Œํฌ๋Š”..