5/11 ์„ธ์…˜ - Custom Hook

Beomยท2022๋…„ 6์›” 12์ผ
0

WE-CODE

๋ชฉ๋ก ๋ณด๊ธฐ
8/8

๐Ÿš€ ํ•™์Šต ๋ชฉํ‘œ

  1. ๊ด€์‹ฌ์‚ฌ์˜ ๋ถ„๋ฆฌ(SoC, Separation of Concerns)๊ฐ€ ๋ฌด์—‡์ธ์ง€ ์ ์ ˆํ•œ ์˜ˆ์‹œ๋ฅผ ๋“ค์–ด ์„ค๋ช…ํ•  ์ˆ˜ ์žˆ๋‹ค.

  2. Custom Hook์— ๋Œ€ํ•œ ๊ฐœ๋…์„ ์ดํ•ดํ•˜๊ณ , ํ•จ์ˆ˜ ์ปดํฌ๋„ŒํŠธ๋กœ๋ถ€ํ„ฐ ๋กœ์ง(State, Effect ๋“ฑ)์„ ๊ด€์‹ฌ์‚ฌ์— ๋งž๊ฒŒ ์ ์ ˆํžˆ ๋ถ„๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค.


๊ด€์‹ฌ์‚ฌ์˜ ๋ถ„๋ฆฌ

  • ๋ช…ํ™•ํžˆ ์–ด๋–ค ๋™์ž‘์„ ํ•˜๋Š”์ง€
  • ๊ฐ€๋…์„ฑ์„ ๋†’ํžˆ๊ณ  ๊ธฐ๋Šฅ๋ณ„๋กœ / ์œ ์ง€๋ณด์ˆ˜ ๋™์ผํ•œ ๊ธฐ๋Šฅ์„ ํ•˜๋Š” ์ฝ”๋“œ๋ผ๋ฆฌ ๋ชจ์•„๋†“์ž
์‚ฌ์šฉ์ด์œ 
  • ์ž‘์„ฑํ•œ ๋กœ์ง์— ์กฐ๊ฑด์ด ์ถ”๊ฐ€๋œ๋‹ค๋ฉด?
  • ๊ธฐํš์ด ๋ณ€๊ฒฝ๋˜์–ด ์ž‘์„ฑํ•œ ๋ถ€๋ถ„์„ ๋ณ€๊ฒฝํ•ด์•ผ ํ•œ๋‹ค๋ฉด?
  • ์›ํ™œํ•œ ์œ ์ง€๋ณด์ˆ˜
์žฅ์ 
  • ๋ช…๋ฃŒ์„ฑ
  • ์žฌ์‚ฌ์šฉ์„ฑ
  • ์œ ์ง€๋ณด์ˆ˜์„ฑ : ๋ณ€๊ฒฝ์‚ฌํ•ญ์ด ์ƒ๊ฒผ์„ ๋•Œ ๊ด€์‹ฌ์‚ฌ์˜ ๋ถ„๋ฆฌ๊ฐ€ ์ž˜ ์ด๋ฃจ์–ด์ง„ ๊ฒฝ์šฐ ์‰ฝ๊ฒŒ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋‹ค
  • ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๊ธฐ ์‰ฌ์›Œ์ง„๋‹ค : ์ž‘์„ฑํ•œ ์ฝ”๋“œ๊ฐ€ ์ œ๋Œ€๋กœ ์ˆ˜ํ–‰์ด ๋˜๋Š”์ง€
Loose Coupling vs. High Cohesive
  • ์ฝ”๋“œ์˜ ๊ฒฐํ•ฉ๋„ ๋ฐ ์‘์ง‘๋„๊ฐ€ ์ •๋„
  • ์ฝ”๋“œ๊ฐ€ ์„œ๋กœ ์–ฝํ˜€์žˆ๋Š” ์ •๋„ / ์œ ์‚ฌํ•œ ๋‚ด์šฉ์ด ๋ชจ์—ฌ์žˆ๋Š” ์ •๋„
    -> ๊ด€์‹ฌ์‚ฌ์˜ ๋ถ„๋ฆฌ๊ฐ€ ์ ์ ˆํžˆ ์ž˜ ๋˜์–ด ์žˆ๋‹ค๋ฉด ๋‚ฎ์€ ๊ฒฐํ•ฉ๋„, ๋†’์€ ์‘์ง‘๋„

EX) ๋งฅ๋„๋‚ ๋“œ
์ฃผ๋ฌธ -> ์ฃผ๋ฐฉ์œผ๋กœ ์ฃผ๋ฌธ์ด ์ „๋‹ฌ๋จ
ํ•œ ์‚ฌ๋žŒ์ด ์ฃผ๋ฌธ -> ์กฐ๋ฆฌ๊นŒ์ง€ ํ•œ๋‹ค๋ฉด ์‹œ๊ฐ„์ด ์˜ค๋ž˜๊ฑธ๋ฆผ / ๋น„ํšจ์œจ์ 


Custom Hook

  • use ๋กœ ์‹œ์ž‘
  • ํ›… ์•ˆ์— ํ›…๋„ ๊ฐ€๋Šฅ
  • ์Šคํ…Œ์ดํŠธ ๊ฐ’์€ ๊ณต์œ ํ•˜์ง€ ์•Š์Œ

*divide and conquer

0๊ฐœ์˜ ๋Œ“๊ธ€