๐Ÿšค ์„ฑ์žฅ์ผ์ง€ 6.0

์ฑ… ํ–‰๋ณตํ•œ ์ด๊ธฐ์ฃผ์˜์ž(์›จ์ธ ๋‹ค์ด์–ด)์˜ ๋‚ด์šฉ์— ์ž๊ทน๋ฐ›์•„ ์‹œ์ž‘ํ•˜๋Š” ์†Œ๋ฐ•ํ•œ ์„ฑ์žฅ๊ธฐ๋ก

์‚ด์•„์žˆ๋Š” ๊ฝƒ๊ณผ ์ฃฝ์€ ๊ฝƒ์€ ์–ด๋–ป๊ฒŒ ๊ตฌ๋ณ„ํ•˜๋Š”๊ฐ€?
์„ฑ์žฅํ•˜๊ณ  ์žˆ๋Š” ๊ฒƒ์ด ์‚ด์•„ ์žˆ๋Š” ๊ฒƒ์ด๋‹ค.
์ƒ๋ช…์˜ ์œ ์ผํ•œ ์ฆ๊ฑฐ๋Š” ์„ฑ์žฅ์ด๋‹ค!

๐ŸŒพ (4.0)ํ•™์Šต ํ‚ค์›Œ๋“œ์—์„œ ์ตœ๋Œ€ํ•œ ๊ฐ„๋‹จํ•œ ์ •๋ณด ์ œ๊ณต, ๊ณ ๋ฏผ์—์„œ ๋‚ด ๊ฒฝํ—˜์„ ์ž์„ธํžˆ ์ ์ž!
๐ŸฅŠ (5.0)ํ•™์Šต ํ‚ค์›Œ๋“œ๋Š” ํ•œ์ค„์˜ ํ•ต์‹ฌ์œผ๋กœ๋งŒ ์ •๋ฆฌ, ์„ฑ๊ณต/์‹คํŒจ ์ผ์ง€ ์ž‘์„ฑํ•˜๊ธฐ! ์ด ๋•Œ, ์‹คํŒจ์˜ ๊ฒฝํ—˜์€ ์ž์„ธํžˆ ์ ๊ธฐ!
๐Ÿ‰ (6.0)<์™„์ „ ๊ฐœํŽธ!!!> ๋งค์ผ ์Šต๊ด€์ ์œผ๋กœ ํ•ต์‹ฌ๋งŒ ์ ์„ ์ˆ˜ ์žˆ๊ฒŒ ํ”„๋ ˆ์ž„ ๋ณ€๊ฒฝ. ์„ฑ๊ณต๋ณด๋‹จ ์‹คํŒจ์— ์ดˆ์ ์„ ๋งž์ถ”๊ธฐ.

  • ๐Ÿ‰ (6.1)<์ˆ˜์ •> ๋งค๋ฒˆ ์„ฑ๊ณต, ์‹คํŒจ๋ฅผ ๋”ฐ๋กœ ์ ๋Š” ๊ฒƒ๋ณด๋‹จ ๊ฒฝํ—˜์œผ๋กœ ํ‘œํ˜„ํ•˜์ž

๐ŸŒˆ ์˜ค๋Š˜์˜ ๊ฐ์ •

๋น„๊ฐ€ ๋งŽ์ด ์˜ค๋Š” ๋‚  ์กฐ์šฉํžˆ ๋…ธ๋ž˜ ํ‹€์–ด๋†“๊ณ  ์ฝ”๋”ฉํ•˜๋Š” ๊ฑด ์ฐธ ์ฆ๊ฒ๊ณ  ํ–‰๋ณตํ•˜๊ตฌ๋‚˜~

๐Ÿซง ์˜ค๋Š˜์˜ ๊ณ ๋ฏผ

  • ReactDOM.createPortal๋กœ ๋งŒ๋“  component์— ์–ด๋–ป๊ฒŒ ๋ณต์žกํ•œ props๋ฅผ ์ „๋‹ฌํ•  ๊ฒƒ์ธ๊ฐ€?
  • ํ”„๋กœ์ ํŠธ MVP๋ฅผ ์–ด๋–ป๊ฒŒ ์žก์„ ๊ฒƒ์ธ๊ฐ€?
  • ๋ถ€๋ชจ ์ปดํฌ๋„ŒํŠธ์—์„œ ์ž์‹ ์ปดํฌ๋„ŒํŠธ๋กœ props๋ฅผ ์ „๋‹ฌํ•˜๊ณ  ์ž์‹ ์ปดํฌ๋„ŒํŠธ์—์„œ ์ด๋ฅผ state๋กœ ๋‘์–ด ๋ณ€๊ฒฝํ•˜๋Š” ๊ฑด ์ข‹์€ ๋ฐฉ๋ฒ•์ธ๊ฐ€?
    • input์„ ๋ณ€๊ฒฝํ•˜๋Š” ๊ฒƒ์ด๋‹ˆ ์ˆœ์ˆ˜ํ•จ์ˆ˜์— ์œ„๋ฐฐ๋˜๋Š” ๊ฒŒ ์•„๋‹Œ๊ฐ€?

โ˜€๏ธ ์˜ค๋Š˜์˜ ๊ฒฝํ—˜

ReactDOM.createPortal๋กœ ๋งŒ๋“  component์— ๋ณต์žกํ•œ props ์ „๋‹ฌํ•˜๊ธฐ

portal์„ ํ†ตํ•ด ๋งŒ๋“  ๋ชจ๋‹ฌ ์ฐฝ์—์„œ ์‚ญ์ œ ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๋ฉด ํŠน์ • ๋™๋„ค๋ฅผ ์ง€์šฐ๋Š” ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•ด์•ผํ–ˆ๋‹ค. UI์ ์œผ๋กœ๋Š” ๋ชจ๋‹ฌ ๊ตฌํ˜„์€ ์–ด๋ ต์ง€ ์•Š์•˜๋‹ค. ํ—Œ๋ฐ ํŠน์ • ๋™๋„ค๋ฅผ ์ง€์šฐ๊ธฐ ์œ„ํ•ด ๊ทธ ๋™๋„ค์˜ id ๊ฐ’์„ ๊ฐ€์ ธ์™€์„œ filter ์ฒ˜๋ฆฌํ•ด์•ผํ•˜๋Š”๋ฐ, ๋ชจ๋‹ฌ์„ ์œ„ํ•ด ๊ตฌํ˜„๋œ portal ์ปดํฌ๋„ŒํŠธ์— ๋™๋„ค id ๊ฐ’์„ ์ „๋‹ฌํ•  ๋ฐฉ๋ฒ•์ด ์—†์—ˆ๋‹ค. ๊ณ ๋ฏผํ•˜๋˜ ๋์— ์„ ํƒ๋œ(์‚ญ์ œํ• ์ง€๋ง์ง€๋ฅผ ์œ„ํ•ด) ๋™๋„ค์˜ id๋ฅผ state๋กœ ๋‹ด๊ณ  ๊ทธ state๋ฅผ portal ์ปดํฌ๋„ŒํŠธ์˜ ์‚ญ์ œ ๋ฒ„ํŠผ์— ์ „๋‹ฌํ•˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ ๊ตฌํ˜„ํ–ˆ๋‹ค. ๋ณ„๊ฑฐ ์•„๋‹Œ ๊ฒƒ ๊ฐ™์€๋ฐ, ์ฒ˜์Œ์—” ์™œ ๊ทธ๋ ‡๊ฒŒ ํ—ค๋งค๊ณ  ๊ณ ๋ฏผํ–ˆ๋Š”์ง€โ€ฆ๐Ÿ˜‚

ํ”„๋กœ์ ํŠธ MVP๋ฅผ ์–ด๋–ป๊ฒŒ ์žก์„ ๊ฒƒ์ธ๊ฐ€?

๊ธฐํš์ด ๋”ฐ๋กœ ์—†๋‹ค๋ณด๋‹ˆ MVP๋ฅผ ์–ด๋””์„œ๋ถ€ํ„ฐ ์–ด๋–ป๊ฒŒ ์žก์•„์•ผํ• ์ง€ ์•Œ ์ˆ˜๊ฐ€ ์—†์—ˆ๋‹ค. ๋„ˆ๋ฌด ์ตœ์†Œํ•œ์˜ ๊ธฐํš๋งŒ ํ•˜์ž๋‹ˆ, ๋‚˜์ค‘์— ์ถ”๊ฐ€๋  ๊ฒƒ์œผ๋กœ ์˜ˆ์ธก๋˜๋Š” ๊ธฐ๋Šฅ ํ•˜๋‚˜๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ๋ฐ์—๋„ ๊ฝค ๋งŽ์€ ์‹œ๊ฐ„์ด ๊ฑธ๋ฆด ๊ฒƒ ๊ฐ™๊ณ โ€ฆ ๊ทธ๋ ‡๋‹ค๊ณ  ๊ทœ๋ชจ๋ฅผ ํ‚ค์šฐ์ž๋‹ˆ ์ด๊ฒŒ MVP๊ฐ€ ๋งž๋‚˜..? ์‹ถ์—ˆ๋‹ค. ๋‹ค์‹œ ๋งํ•ด ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์— ๊ด€ํ•œ MVP๋ฅผ ์žก๋Š” ๊ฒŒ ์‰ฝ์ง€ ์•Š์•˜๋‹ค. ๊ทธ๋ž˜์„œ ๋‚˜๋Š” ์ผ๋‹จ ํ”„๋ก ํŠธ์—”๋“œ ๊ฐœ๋ฐœ์ž์ด๊ธฐ ๋•Œ๋ฌธ์— UI์— ๊ด€ํ•œ MVP๋ฅผ ์žก๊ธฐ๋กœ ํ–ˆ๋‹ค. ํ”„๋กœ์ ํŠธ์˜ UI๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ๋ฐ์— ํ•„์š”ํ•œ ์ปดํฌ๋„ŒํŠธ๋ฅผ ๋จผ์ € ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉํ–ฅ์œผ๋กœ ๊ฐˆ๊นŒ ํ•œ๋‹ค. ๊ทผ๋ฐโ€ฆ ๋””์ž์ด๋„ˆ๋„ ์—†์–ด์„œ ์ผ๋‹จ ์ •๋ง ์ตœ์†Œํ•œ์˜ ๋””์ž์ธ์œผ๋กœ ํ”ผ๊ทธ๋งˆ๋ฅผ ๊ทธ๋ ธ๋‹ค.(ใ…‹ใ…‹ใ…‹ใ…‹ใ…‹ใ…‹) ๊ฐœ๋ฐœํ•˜๋ฉด์„œ ๋””์ž์ธ์„ ๋ณด์™„ํ•ด๊ฐ€๋Š” ๋ฐฉ์‹์œผ๋กœ ํ•ด๋ณด๋ คํ•œ๋‹ค.

๋ถ€๋ชจ ์ปดํฌ๋„ŒํŠธ์—์„œ ์ž์‹ ์ปดํฌ๋„ŒํŠธ๋กœ props๋ฅผ ์ „๋‹ฌํ•˜๊ณ  ์ž์‹ ์ปดํฌ๋„ŒํŠธ์—์„œ ์ด๋ฅผ state๋กœ ๋‘์–ด ๋ณ€๊ฒฝํ•˜๋Š” ๊ฑด ์ข‹์€ ๋ฐฉ๋ฒ•์ธ๊ฐ€?

์ฒ˜์Œ์—” ์ด๋ ‡๊ฒŒ ํ•˜๋Š” ๊ฒŒ ๋„ˆ๋ฌด ํ”ํ•˜์ง€๋งŒ ์ˆœ์ˆ˜ํ•จ์ˆ˜๋ฅผ ์œ„๋ฐฐํ•˜๋Š” ๊ฒƒ ๊ฐ™์•„์„œ ์ž˜๋ชป๋œ ๊ฒƒ์ด๋ผ ์ƒ๊ฐํ–ˆ๋‹ค. ํ—Œ๋ฐ ์ƒ๊ฐํ•ด๋ณด๋‹ˆ props๋กœ ์ „๋‹ฌ๋ฐ›์€ ๊ฐ’์„ state๋กœ ๋‘๋Š” ๊ฑด ์ˆœ์ˆ˜ํ•จ์ˆ˜๋ฅผ ์œ„๋ฐฐํ•˜๋Š” ๊ฒŒ ์•„๋‹ˆ๋ผ๋Š” ๊ฒƒ์„ ๊นจ๋‹ฌ์•˜๋‹ค. ์ˆœ์ˆ˜ํ•จ์ˆ˜๋ฅผ ์œ„๋ฐฐํ•˜๋Š” ๊ฑด props๋ฅผ ์ง์ ‘ ๋ณ€๊ฒฝํ•˜๋Š” ๊ฒƒ์ด๋‹ค. props๋ฅผ ์ง์ ‘ ๋ณ€๊ฒฝํ•˜๋Š” ๊ฒƒ์€ ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค. ํ•ด์„œ props๋ฅผ state๋กœ ๋‘๊ณ  setState ํ•จ์ˆ˜๋กœ ๋ณ€๊ฒฝํ•˜๋Š” ๊ฒƒ์€ props ์ž์ฒด๋ฅผ ๋ณ€๊ฒฝํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ์ƒˆ๋กœ์šด state๋ฅผ ๋งŒ๋“ค์–ด์„œ ๋ณ€๊ฒฝํ•˜๋Š” ๊ฒƒ์ด๊ธฐ ๋•Œ๋ฌธ์— ์ˆœ์ˆ˜ํ•จ์ˆ˜๋ฅผ ์œ„๋ฐฐํ•˜์ง€ ์•Š๋Š”๋‹ค.

๐Ÿพ ์˜ค๋Š˜์˜ ๊ตํ›ˆ

๋น„ ์˜ค๋Š” ๋‚ , ๋…ธ๋ž˜ ํ‹€์–ด๋‘๊ณ  ๊ฐœ๋ฐœํ•˜๋ฉด ์ž˜ ๋œ๋‹น.

๊ธฐํš์ž์™€ ๋””์ž์ด๋„ˆ ์—†์ด ํ”„๋กœ์ ํŠธ๋ฅผ ์‹œ์ž‘ํ•˜๋Š” ๊ฑด ์ฐธ ์‰ฝ์ง€ ์•Š๋‹ค. ๊ทธ๋ž˜๋„ ์ด๋ ‡๊ฒŒ ์ง„ํ–‰ํ•˜๋Š” ๋ฐฉ์‹๋„ ์žฌ๋ฏธ์žˆ์œผ๋‹ˆ๊นŒ..!

api ๋ช…์„ธ๋ฅผ ๋ฐฑ์—”๋“œ์™€ ์ž˜ ๋งž์ถฐ๋†“๋Š” ๊ฒŒ ์–ผ๋งˆ๋‚˜ ์ค‘์š”ํ•œ์ง€ ์•Œ๊ฒŒ ๋˜์—ˆ๋‹ค. api ๋ช…์„ธ๋งŒ ์ž˜ ๋งž์•˜์œผ๋ฉด ๊ธˆ๋ฐฉ ํ•ด๊ฒฐํ•  ๋ฌธ์ œ์˜€๋Š”๋ฐ, ํ”„๋ก ํŠธ ๋กœ์ง ๋ฌธ์ œ์ธ ์ค„ ์•Œ๊ณ  ํ•œ์ฐธ์„ ํ—ค๋งธ๋‹คโ€ฆ ์• ์ดˆ์— ์ด๋ ‡๊ฒŒ ํ•œ์ฐธ์„ ํ—ค๋งค์•ผํ•˜๋Š” ์ฝ”๋“œ์ธ ๊ฒŒ ๋ฌธ์ œ์ผ์ง€๋„..? ๐Ÿฅฒ

redux๋ฅผ ์•ˆ์ข‹์•„ํ•˜๋Š” ํŽธ์ด์—ˆ๋Š”๋ฐ(์ œ๋Œ€๋กœ ๋ฐฐ์šด ์ ๋„ ์—†์œผ๋ฉด์„œ ๐Ÿคช), ๋ฐฐ์šฐ๋ฉด ๋ฐฐ์šธ์ˆ˜๋ก ๋ญ”๊ฐ€ ๋งค๋ ฅ์ ์ด๋‹ค. ์กฐ๊ธˆ ํˆฌ๋ฐ•ํ•˜์ง€๋งŒ ๋ญ”๊ฐ€ ์—ด์‹ฌํžˆ ์ƒํƒœ๊ด€๋ฆฌํ•˜๋ ค๊ณ  ๋…ธ๋ ฅํ•œ ํ”์ ๋“ค์ด ๋ณด์ธ๋‹ค๊ณ  ํ•ด์•ผํ•˜๋‚˜โ€ฆใ…‹ใ…‹ใ…‹ใ…‹ใ…‹

๐Ÿชต ์ฐธ๊ณ 

  • ์—†์Œ