🌏 [project #2] Jigu-tory #4

soor.devΒ·2021λ…„ 7μ›” 11일
0

Project

λͺ©λ‘ 보기
6/8

흑사 일주일 νšŒκ³ κ°™μ΄ λ˜μ–΄λ²„λ¦° λΈ”λ‘œκΉ…. μ΄λ ‡κ²ŒλΌλ„ κΎΈμ€€νžˆ ν•˜μž!!

이번 ν”„λ‘œμ νŠΈλ₯Ό μ‹œμž‘ν•  λ•Œ νƒ€μž…μŠ€ν¬λ¦½νŠΈλ‚˜ λ¦¬λ•μŠ€κ°™μ€ μƒˆλ‘œμš΄ μŠ€νƒμ„ 쓰지 μ•ŠκΈ°λ‘œ νŒ€μ›λ“€κ³Ό 이야기 λ˜μ—ˆλ‹€. κ·Έ μ΄μœ λŠ” 첫 번째 ν”„λ‘œμ νŠΈμΈ Plantingg μ—μ„œ μƒˆλ‘œμš΄ μŠ€νƒμ— λŒ€ν•œ ν•„μš”μ„±μ„ λŠλΌμ§€ λͺ»ν–ˆκΈ° λ•Œλ¬Έμ΄λ‹€. μŠ€νƒμ΄ ν•„μš”ν•  λ•Œ λ°°μš°λŠ”κ²Œ 더 와 λ‹Ώκ³  도움이 될 것이라 μƒκ°ν–ˆλ‹€.

μ§€κΈˆ react ν•¨μˆ˜ν˜• μ»΄ν¬λ„ŒνŠΈλ‘œ 100% ν”„λ‘œμ νŠΈλ₯Ό μ§„ν–‰ν•˜λŠ” λ‹¨κ³„μ—μ„œ μ•„λž˜ 두 κ°€μ§€λŠ” μ΅œμ†Œν•œ μ†Œν™”ν•΄μ•Ό ν•œλ‹€κ³  μƒκ°ν•œλ‹€. 😒

  • λ‹€μ–‘ν•œ effect hooks λ₯Ό ν†΅ν•œ μ»΄ν¬λ„ŒνŠΈμ˜ μ΅œμ ν™”
  • 효율적인 μƒνƒœκ΄€λ¦¬

μ΄ˆλ°˜μ— μƒνƒœκ΄€λ¦¬μ—μ„œ λ§Žμ€ 어렀움을 κ²ͺμ—ˆκ³ , ν•˜μœ„ μ»΄ν¬λ„ŒνŠΈμ— props λ₯Ό λ‚΄λ €μ£ΌλŠ” λΆˆνŽΈν•¨λ„ μš”μƒˆλ“€μ–΄ λŠλΌκ³ μžˆλ‹€. μ΄λž˜μ„œ redux store 둜 μƒνƒœκ΄€λ¦¬λ₯Ό ν•˜λŠ”κ±΄κ°€ μ‹Άλ‹€.

νƒ€μž…μŠ€ν¬λ¦½νŠΈλŠ” μ‚¬μš©ν•΄ 본적은 μ—†μ§€λ§Œ μ’…μ’… κ²ͺλŠ” Type error 해결에 쒋지 μ•Šμ„κΉŒ 생각해 λ³Έλ‹€. ν”„λ‘œμ νŠΈ λλ‚΄κ³ μ„œ κΌ­ λ°°μš°κ³ μ‹Άμ€ 언어이닀. μ΄λ ‡κ²Œ μƒˆ μŠ€νƒμ„ λ°°μ›Œμ•Όν•  μ΄μœ λ“€μ΄ 생기고 μžˆλ‹€ μš”μƒˆ.

이번 μ£ΌλŠ” λ§ˆμ΄νŽ˜μ΄μ§€μ™€ μ‚¬μš©μžμ •λ³΄ μˆ˜μ •νŽ˜μ΄μ§€λ₯Ό κ΅¬ν˜„ν–ˆλ‹€. μ—λŸ¬κ°€ λΉ΅λΉ΅ ν„°μ‘Œλ‹€γ…Žγ…Ž 이것저것 해보닀가 μ–΄μ œ μ„œλ²„ apiμ—μ„œ λ¬Έμ œκ°€ 될 λ§Œν•œ 것을 λ°œκ²¬ν•˜κ³  λ°±μ—”λ“œ νŒ€μ›λΆ„κ³Ό 이야기λ₯Ό λ‚˜λˆ΄κ³ , μ„œλ²„μ½”λ“œλ₯Ό μ •λΉ„ν•˜μ‹œλŠ” 쀑이닀. 이제 λ§ˆμ§€λ§‰ ν•œ μ£Όκ°€ λ‚¨μ•˜λŠ”λ° μ—λŸ¬ 핸듀링과 css, λ°˜μ‘ν˜•μ— 신경써야할 것 κ°™λ‹€.

배운 점

μ„œλ²„ api

μ €λ²ˆ μ£Ό κΉŒμ§€λŠ” apiμ—μ„œ λ°›μ•„μ˜€κ³ , 데이터λ₯Ό λ³΄λ‚΄μ£ΌλŠ”λ° 큰 λ¬Έμ œκ°€ μ—†μ—ˆλ‹€. 그런데 이번 주에 λ„ˆλ¬΄ 해결이 μ•ˆ λ˜μ„œ μ„œλ²„μ½”λ“œλ₯Ό μžμ„Ένžˆ 보기 μ‹œμž‘ν–ˆλ‹€. λ°±μ—”λ“œλ„ λ°°μ› μ§€λ§Œ ν•œ 달 정도λ₯Ό λ¦¬μ•‘νŠΈλ§Œ μ“°λ‹€λ³΄λ‹ˆ μ†”μ§νžˆ μžμ„Ένžˆ 보지 μ•Šκ³  μ§€λ‚˜κ°”λ˜ 것이 사싀이닀. api λΆ„κΈ°λ₯Ό ν•„μš”μ— 맞게 정말 잘 μ§œμ•Όλœλ‹€λŠ” 것을 또 ν•œ 번 λŠκΌˆλ‹€. 덕뢄에 μ„œλ²„ controller μ½”λ“œλ₯Ό λ³΄λ©΄μ„œ λ‚΄ μ½”λ“œκ°€ μ™œ λ‚΄κ°€ μ˜λ„ν•œ λ°©ν–₯으둜 μ‹€ν–‰λ˜μ§€ μ•Šμ•˜μ—ˆλŠ”μ§€ μ•Œκ²Œλ˜μ—ˆλ‹€.

hooks μ—μ„œμ˜ 생λͺ…μ£ΌκΈ° ?

λ¦¬μ•‘νŠΈλ₯Ό λ°°μš°λ©΄μ„œ μ•„λ¦¬μ†‘ν–ˆλ˜ 것이 생λͺ…μ£ΌκΈ°μ˜€λ‹€. μƒκ²¨λ‚˜κ³  μ§„ν–‰λ˜κ³  μ—†μ–΄μ§€λŠ” 것. λ‹¨μˆœν•΄ λ³΄μ˜€μ§€λ§Œ μ΅μˆ™ν•˜μ§€ μ•Šμ€ λ‚˜λ‘œμ„œλŠ” μ΄ν•΄ν•˜κΈ° μ–΄λ €μ› λ‹€. μ΄λ²ˆμ— 100% ν•¨μˆ˜ν˜• μ»΄ν¬λ„ŒνŠΈλ₯Ό μ“°λ©° λ¦¬μ•‘νŠΈμ˜ 생λͺ…주기와 ν‘μ‚¬ν•œ useEffect λ₯Ό 많이 ν™œμš©ν•˜κ³  μžˆλ‹€. μ²˜μŒμ—” κ·Έλƒ₯ 계속 μ‹€ν–‰λ˜κ³  μžˆμ–΄μ•Ό λ˜λŠ” 것듀- μ΄λΌλŠ” λ§‰μ—°ν•œ μƒκ°μ΄μ˜€μœΌλ‚˜ 음.. 두 번째 λ“€μ–΄κ°€λŠ” νŒŒλΌλ―Έν„°μ— 따라 useEffect μ•ˆμ— λ“€μ–΄κ°€λŠ” ν•¨μˆ˜κ°€ ν˜ΈμΆœλœλ‹€. 직접 써 λ³΄λ©΄μ„œ effect hooks λ₯Ό 잘 μ“°κ³  μ‹Άμ—ˆλ‹€.

useEffect(() => {func}, [])

  • μ»΄ν¬λ„ŒνŠΈκ°€ 처음 λ Œλ” 될 λ•Œλ§Œ ν•¨μˆ˜ 호좜
  • componentDidmount 처럼 μ»΄ν¬λ„ŒνŠΈκ°€ 처음 λ‚˜νƒ€λ‚¬μ„ λ•Œ 호좜

useEffect(() => {funct})

  • μ»΄ν¬λ„ŒνŠΈκ°€ λ¦¬λ Œλ” ν•  λ•Œλ§ˆλ‹€ 호좜
  • componentWillUnmount 처럼 화면이 μ‚¬λΌμ§ˆ λ•Œ 호좜

useEffect(() => {funct}, [νŠΉμ • μƒνƒœ])

  • 두 번째 νŒŒλΌλ―Έν„°μ— 넣은 값이 μ—†λ°μ΄νŠΈ 됐을 λ•Œ μ‹€ν–‰
  • componentDidUpdate

πŸ“š 읽어보기

λ‹€μŒ μ£Ό ν•  일

  • 동적인 intro page λ§Œλ“€κΈ°
  • λ§ˆμ΄νŽ˜μ΄μ§€ μ—λŸ¬ 핸듀링
  • λ¦¬μ•‘νŠΈ ν›…μŠ€μ˜ λ Œλ”λ§ κ³Όμ • & μˆœμ„œ ν™•μ‹€νžˆ
  • useRef, useCallback, useMemo 정리

0개의 λŒ“κΈ€