πŸͺλ“œλ””μ–΄ κ°€μž₯ κΈ°λŒ€λœ μ„Ήμ…˜μ„ μ‹œμž‘ν–ˆμŠ΅λ‹ˆλ‹€: Custom Hooks, Refs & More State

λ°œν–‰: (2026λ…„ 1μ›” 3일 μ˜€μ „ 12:05 GMT+9)
5 min read
원문: Dev.to

Source: Dev.to

Cover image for πŸͺFinally Started the Most Awaited Section: Custom Hooks, Refs & More State

Introduction

와. λ‚΄κ°€ κ°„μ ˆνžˆ κΈ°λ‹€λ¦¬λ˜ μ„Έμ…˜μ΄ λ“œλ””μ–΄ μ‹œμž‘λλ‹€.

였늘 λ‚˜λŠ” μ½”μŠ€μ˜ 13번째 μ„Ήμ…˜μ„ μ‹œμž‘ν–ˆλŠ”λ°β€”μ΄μ „ μ„Ήμ…˜μ΄ λ‹¨μˆœνžˆ κ°œμš”μ˜€κΈ° λ•Œλ¬Έμ— λ‚˜λŠ” 이λ₯Ό 12번째 μ„Ήμ…˜μ΄λΌκ³  μƒκ°ν•œλ‹€. 이 μ„Ήμ…˜μ€ 이미 λ‹€λ₯΄κ²Œ λŠκ»΄μ§„λ‹€: κ°•λ ₯ν•˜κ³ , 깊으며, 약간은 쒋은 μ˜λ―Έμ—μ„œ μœ„μ••μ μ΄λ‹€.

이 μ„Ήμ…˜μ΄ λ‚˜λ₯Ό μ΄λ ‡κ²Œ μ„€λ ˆκ²Œ ν•˜λŠ” μ΄μœ λŠ” κ°„λ‹¨ν•˜λ‹€: μ΄μ œλŠ” Reactλ₯Ό μ‚¬μš©ν•˜λŠ” 것이 μ•„λ‹ˆλΌ 깊이 μ΄ν•΄ν•˜λŠ” 것이기 λ•Œλ¬Έμ΄λ‹€.

이전 μ„Ήμ…˜μ—μ„œλŠ” useEffectλ₯Ό 데이터 νŒ¨μΉ­μ— μ˜¬λ°”λ₯΄κ²Œ μ‚¬μš©ν•˜λŠ” 방법을 배우고 이λ₯Ό usePopcorn 앱에 μ μš©ν–ˆλ‹€. κ·Έκ²ƒλ§ŒμœΌλ‘œλ„ Reactμ—μ„œ λΆ€μˆ˜ 효과λ₯Ό λ°”λΌλ³΄λŠ” μ‹œκ°μ΄ λ°”λ€Œμ—ˆλ‹€.

이번 μ„Ήμ…˜μ€ κ·Έ μ§€μ‹μ˜ 직접적인 ν™•μž₯이닀.

What This Section Is About (And Why It Feels Like a β€œBoom”)

1️⃣ Hooks are easy to learn, hard to master

이 ν•œ 쀄이 μ„Ήμ…˜μ΄ μ€‘μš”ν•œ 이유λ₯Ό μ„€λͺ…ν•œλ‹€. λ‚˜λŠ” μ²˜μŒλΆ€ν„° 훅을 μ‚¬μš©ν•΄μ™”μ§€λ§Œ, λ§ˆμŠ€ν„°ν•˜λŠ” 것은 μ „ν˜€ λ‹€λ₯Έ κ²Œμž„μ΄λ‹€. ν‘œλ©΄ μ•„λž˜μ— μˆ¨κ²¨μ§„ 것이 많으며, 이 μ„Ήμ…˜μ€ κ·Έ 깊이λ₯Ό νŒŒν—€μΉ  것을 μ•½μ†ν•œλ‹€.

2️⃣ Rules of Hooks

React λ¬Έμ„œ μ–΄λ””μ—λ‚˜ μ‘΄μž¬ν•˜λŠ” κ·œμΉ™λ“€μΈλ°λ„ μš°λ¦¬λŠ” μ™œ κ·ΈλŸ°μ§€ μ§„μ •μœΌλ‘œ μ΄ν•΄ν•˜μ§€ λͺ»ν•œ 채 λ”°λ₯΄λŠ” κ²½μš°κ°€ λ§Žλ‹€. κ·œμΉ™ 뒀에 μžˆλŠ” 이유λ₯Ό νŒŒμ•…ν•˜λ©΄ κ°œλ°œμžλ‘œμ„œμ˜ μžμ‹ κ°μ΄ μžλ™μœΌλ‘œ μƒμŠΉν•œλ‹€.

3️⃣ Deep Dive into useState

λ‚˜λŠ” useStateλ₯Ό μ²˜μŒλΆ€ν„° μ‚¬μš©ν•΄μ™”κ³  λ‹€μŒμ„ μ•Œκ³  μžˆλ‹€:

  • μ–΄λ–»κ²Œ λ™μž‘ν•˜λŠ”μ§€
  • μ–Έμ œ μ‚¬μš©ν•΄μ•Ό ν•˜λŠ”μ§€
  • ν”ν•œ μ‚¬μš© 사둀

ν•˜μ§€λ§Œ κ·Έ κΉŠμ€ λ‘œμ§μ„ ν•œ λ²ˆλ„ 탐ꡬ해본 적이 μ—†λ‹€. 깊이 νŒŒκ³ λ“€λ©΄ μ‹€μ œ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ—μ„œ μƒνƒœλ₯Ό μ„€κ³„ν•˜λŠ” 방식이 λ°”λ€” κ·€μ€‘ν•œ 톡찰을 얻을 수 μžˆλ‹€.

4️⃣ useRef (The Hook I Always Miss)

useRefλŠ” λ‚΄κ°€ κ°€μž₯ μ–΄λ €μ›Œν–ˆλ˜ 훅이닀. λ“±μž₯ν•  λ•Œλ§ˆλ‹€ μ‘°κΈˆμ”© μ΄ν•΄ν•˜μ§€λ§Œ 전체 그림을 λ†“μΉ˜κ³€ ν–ˆλ‹€. μ΄λ²ˆμ—λŠ” 이둠과 μ‹€μŠ΅ λͺ¨λ‘μ—μ„œ useRefλ₯Ό μ™„μ „νžˆ λ§ˆμŠ€ν„°ν•˜κ² λ‹€λŠ” κ°μ˜€λ‹€.

5️⃣ Custom Hooks

그게 μ •ν™•νžˆ 뭐지? μ™œ ν•„μš”ν• κΉŒ? μ–΄λ–»κ²Œ 직접 λ§Œλ“€ 수 μžˆμ„κΉŒ? μ—¬κΈ°μ„œ ReactλŠ” κΉ¨λ—ν•˜κ³ , μž¬μ‚¬μš© κ°€λŠ₯ν•˜λ©°, 전문적인 λŠλ‚Œμ„ μ€€λ‹€. 이 뢀뢄이 κ°€μž₯ 재미있고, λ™μ‹œμ— 졜고의 도전이 될 것이라고 ν™•μ‹ ν•œλ‹€.

Why This Section Feels Special to Me

λ‹¨μˆœνžˆ μƒˆλ‘œμš΄ 훅을 λ°°μš°λŠ” 것이 μ•„λ‹ˆλΌ React 개발자처럼 μ‚¬κ³ ν•˜λŠ” 것이 λͺ©ν‘œλ‹€. μ½”λ“œλ₯Ό μž‘μ„±ν•˜λŠ” 것이 μ•„λ‹ˆλΌ Reactλ₯Ό μ΄ν•΄ν•˜λŠ” 것이닀. 이 μ„Ήμ…˜μ„ 마치면 λ‹€μŒκ³Ό 같은 λ³€ν™”λ₯Ό λŠλ‚„ 수 μžˆμ„ 것 κ°™λ‹€:

  • λ‚΄ μ½”λ“œλŠ” 더 κΉ”λ”ν•΄μ§ˆ 것이닀
  • λ‘œμ§μ€ 더 μž¬μ‚¬μš© κ°€λŠ₯ν•΄μ§ˆ 것이닀
  • μƒνƒœμ— λŒ€ν•œ μ΄ν•΄λŠ” 더 κΉŠμ–΄μ§ˆ 것이닀

μ†”μ§νžˆ λ§ν•΄μ„œ, 이것이 λ‚΄κ°€ 좔ꡬ해 온 μ„±μž₯의 λ°©ν–₯이닀.

GitHub Repository (Overview File)

GitHub – 00-Overview.txt

Back to Blog

κ΄€λ ¨ κΈ€

더 보기 Β»

Reactμ—μ„œ 비동기 폼 검증은 μ–΄λ ΅λ‹€ β€” 이λ₯Ό ν•΄κ²°ν•˜λŠ” 예츑 κ°€λŠ₯ν•œ 방법

폼은 μ²˜μŒμ— 간단해 λ³΄μž…λ‹ˆλ‹€: inputs, errors, submit. ν•˜μ§€λ§Œ async validation을 μΆ”κ°€ν•˜λ©΄ 상황이 금방 λ³΅μž‘ν•΄μ§‘λ‹ˆλ‹€. μ‹€μ œ React 앱을 μž‘μ—…ν•΄ λ³Έ 적이 μžˆλ‹€λ©΄,…