dew_dew
hELLO! πŸ‘‹πŸ»
dew_dew

λΈ”λ‘œκ·Έ 메뉴

  • GitHub
  • All (56)
    • Projects (3)
    • πŸ”₯ Trouble Shooting (9)
    • TIL | WIL (11)
    • React (10)
    • Next.js (2)
    • JavaScript (14)
    • TypeScript (1)
    • Algorithm (1)
    • etc. (5)
전체 방문자
였늘
μ–΄μ œ

인기 κΈ€

졜근 λŒ“κΈ€

hELLO Β· Designed By μ •μƒμš°.
dew_dew

hELLO! πŸ‘‹πŸ»

React Hook μ΄λž€ ?
React

React Hook μ΄λž€ ?

2022. 8. 28. 16:37

Hook μ •μ˜

React 곡식 λ¬Έμ„œμ˜ Hook 의 μ •μ˜μž…λ‹ˆλ‹€.

 

 

Hook 은 ν•¨μˆ˜ν˜• μ»΄ν¬λ„ŒνŠΈμ—μ„œλ„ 생λͺ…μ£ΌκΈ° κΈ°λŠ₯을 μ‚¬μš©ν•  수 있게 ν•¨μœΌλ‘œμ¨, ν•¨μˆ˜ν˜• μ»΄ν¬λ„ŒνŠΈμ˜ ν™œμš©μ„±μ„ 높이기 μœ„ν•΄ λ‚˜μ˜¨ ν•¨μˆ˜μž…λ‹ˆλ‹€.

덕뢄에 λ³΅μž‘ν•œ ν΄λž˜μŠ€ν˜• μ»΄ν¬λ„ŒνŠΈλ§Œμ„ μ‚¬μš©ν•˜μ§€ μ•Šμ•„λ„ λ©λ‹ˆλ‹€. Hook 을 ν”„λ‘œμ νŠΈμ— λ„μž…ν•˜κΈ° μœ„ν•΄ 기쑴의 class ν˜• μ»΄ν¬λ„ŒνŠΈλ“€μ„ μˆ˜μ •ν•  ν•„μš”λŠ” μ—†λ‹€κ³  ν•©λ‹ˆλ‹€. 곡식 λ¬Έμ„œμ—μ„œ μ„€λͺ…ν•˜λ“―이 μ μ§„μ μœΌλ‘œ 적용 ν•΄λ‚˜λŠ” 것이 ꢌμž₯λ©λ‹ˆλ‹€.

 

Hook μ’…λ₯˜

 

λ¦¬μ•‘νŠΈμ—μ„œ μ œκ³΅ν•˜λŠ” Hook 듀이 μžˆμŠ΅λ‹ˆλ‹€. κ·ΈλŸ¬λ‚˜ μ‚¬μš©μžλ“€μ΄ ν•„μš”ν•œ Hook 을 λ§Œλ“€μ–΄μ„œ μ‚¬μš©ν•˜κΈ°λ„ ν•©λ‹ˆλ‹€. 이것을 Custom Hook 이라고 ν•˜λŠ”λ°, κ°œμΈλ“€μ΄ λ§Œλ“  μœ μš©ν•œ Hook 듀은 npm 을 톡해 λ‹€μš΄λ°›μ•„ μ‚¬μš©ν•  μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€.

 

λ¦¬μ•‘νŠΈ 곡식 λ¬Έμ„œμ— λ‚˜μ™€ μžˆλŠ” Hook 듀을 μ‚΄νŽ΄λ³΄κ² μŠ΅λ‹ˆλ‹€.

 

κΈ°λ³Έ Hook 인 useState() 와 useEffect() λ₯Ό μ •λ¦¬ν•΄λ³΄μ•˜μŠ΅λ‹ˆλ‹€.

1. useState()

useState() λŠ” ν•¨μˆ˜ν˜• μ»΄ν¬λ„ŒνŠΈ μ•ˆμ—μ„œ state λ₯Ό μ‚¬μš©ν•  수 있게 ν•΄μ£ΌλŠ” Hook μž…λ‹ˆλ‹€.

곡식 λ¬Έμ„œμ— λ‚˜μ˜¨ state 의 μ •μ˜ μž…λ‹ˆλ‹€.

state λŠ” λ¦¬μ•‘νŠΈ μ›Ή, 앱이 μœ λ™μ μœΌλ‘œ λ³€ν™”ν•  수 있게 λ„μ™€μ£ΌλŠ” λ³€μˆ˜μž…λ‹ˆλ‹€. λ¦¬μ•‘νŠΈλŠ” state λ₯Ό κ°μ§€ν•˜μ—¬,

state κ°€ λ³€κ²½λ˜λ©΄ λ¦¬λ Œλ”λ§ ν•©λ‹ˆλ‹€. 그런 state λ₯Ό function component μ—μ„œ λ§Œλ“€μ–΄ μ£ΌλŠ” 것이 useState() μž…λ‹ˆλ‹€.

React 곡식 λ¬Έμ„œ

 

2. useEffect()

https://lazygay.tistory.com/34

μ œκ°€ μ •λ¦¬ν•œ λΈ”λ‘œκ·Έ ν¬μŠ€νŒ…μ— ν΄λž˜μŠ€ν˜•κ³Ό ν•¨μˆ˜ν˜• μ»΄ν¬λ„ŒνŠΈλ₯Ό λΉ„κ΅ν•˜λ©° uesEffect() Hook 을 μ„€λͺ…ν–ˆμŠ΅λ‹ˆλ‹€.

이 κ²Œμ‹œκΈ€μ„ λ³΄μ‹œλ©΄ 이해가 더 μ‰¬μšΈ 것 κ°™μ•„ μ²¨λΆ€ν•©λ‹ˆλ‹€.

 

Hook κ·œμΉ™

React 곡식 λ¬Έμ„œ

 

λ˜ν•œ Custom Hook 을 λ§Œλ“€ λ•Œ, μ•žμ— use__ λ₯Ό λͺ…μ‹œν•΄μ•Ό ν•©λ‹ˆλ‹€.

μœ„μ˜ κ·œμΉ™λ“€μ„ κ°•μ œν•˜κΈ° μœ„ν•΄ λ¦¬μ•‘νŠΈμ—μ„œλŠ” ESLint ν”ŒλŸ¬κ·ΈμΈμ„ μ œκ³΅ν•©λ‹ˆλ‹€. 이 ν”ŒλŸ¬κ·ΈμΈμ€ Create React App 에 ν¬ν•¨λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€.

 

 

μ°Έκ³  λ¬Έμ„œ 

https://ko.reactjs.org/docs/hooks-rules.html

μ €μž‘μžν‘œμ‹œ λΉ„μ˜λ¦¬ λ³€κ²½κΈˆμ§€ (μƒˆμ°½μ—΄λ¦Ό)

'React' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

React μƒνƒœ 관리 비ꡐ Redux & React Query & SWR  (0) 2022.09.30
React Redux Toolkit μ‚¬μš©ν•˜κΈ°  (0) 2022.08.29
React Life Cycle [ Class component 와 Function component ]  (0) 2022.08.28
React Ref 와 Dom  (1) 2022.08.27
React 데이터 바인딩  (0) 2022.08.24
    dew_dew
    dew_dew
    κ°œλ°œμžκ°€ λ˜λŠ” μ—¬μ • 기둝

    ν‹°μŠ€ν† λ¦¬νˆ΄λ°”