roqkf

[React] μƒνƒœκ΄€λ¦¬ λ³Έλ¬Έ

πŸ’» Development/React

[React] μƒνƒœκ΄€λ¦¬

ahyeon7 2022. 12. 27. 22:47

❀️‍πŸ”₯ μƒνƒœκ΄€λ¦¬

  • μƒνƒœ: UI에 λ™μ μœΌλ‘œ ν‘œν˜„λ  데이터, λ³€ν•˜λŠ” 데이터
  • Side Effect: ν•¨μˆ˜ μž…λ ₯ 외에도 ν•¨μˆ˜μ˜ 결과에 영ν–₯을 λ―ΈμΉ˜λŠ” μš”μΈ ex) λ„€νŠΈμ›Œν¬ μš”μ²­, API 호좜
  • Side Effectλ₯Ό μ΅œλŒ€ν•œ λ°°μ œν•˜μ—¬ μ»΄ν¬λ„ŒνŠΈλ₯Ό λ§Œλ“€μž!

πŸ’₯μƒνƒœμ˜ 두 κ°€μ§€ ꡬ뢄

  1. 둜컬 | νŠΉμ • μ»΄ν¬λ„ŒνŠΈ μ•ˆμ—μ„œλ§Œ κ΄€λ¦¬λ˜λŠ” μƒνƒœ
  • μ»΄ν¬λ„ŒνŠΈ λ‚΄μ—μ„œλ§Œ 영ν–₯을 λ―ΈμΉ˜λŠ” μƒνƒœ
  • λ‹€λ₯Έ μ»΄ν¬λ„ŒνŠΈμ™€ 데이터λ₯Ό κ³΅μœ ν•˜μ§€ μ•ŠλŠ” from λ°μ΄ν„°λŠ” λŒ€λΆ€λΆ„ 둜컬 μƒνƒœμ΄λ‹€. ex) input box, select box λ“±
  1. μ „μ—­ | ν”„λ‘œλ•νŠΈ 전체 or μ—¬λŸ¬ μ»΄ν¬λ„ŒνŠΈμ—μ„œ κ΄€λ¦¬λ˜λŠ” μƒνƒœ
  • λ‹€λ₯Έ μ»΄ν¬λ„ŒνŠΈμ™€ μƒνƒœλ₯Ό κ³΅μœ ν•˜κ³  영ν–₯을 λ―ΈμΉ˜λŠ” μƒνƒœ
  • 데이터 λ‘œλ”© μ—¬λΆ€ μƒνƒœμ™€ 같을 λ•Œ μ•± μ „λ°˜μ— 영ν–₯을 λ―ΈμΉ˜λ―€λ‘œ μ „μ—­ μƒνƒœλΌ λ³Ό 수 있음
  • μ„œλ‘œ λ‹€λ₯Έ μ»΄ν¬λ„ŒνŠΈκ°€ λ™μΌν•œ μƒνƒœλ₯Ό 닀룬닀면, μΆœμ²˜λŠ” 였직 ν•œ 곳이어야 ν•œλ‹€. (ν•œ κ³³μ—μ„œλ§Œ μƒνƒœλ₯Ό μ €μž₯ν•˜κ³  μ ‘κ·Όν•˜κΈ°)
  • 데이터 무결성: λ°μ΄ν„°μ˜ 정확성을 보μž₯ν•˜κΈ° μœ„ν•΄ 데이터 λ³€κ²½μ΄λ‚˜ μˆ˜μ • μ‹œ, μ œν•œμ„ 둬 μ•ˆμ •μ„±μ„ μ €ν•΄ν•˜λŠ” μš”μ†Œλ₯Ό 막고 데이터 μƒνƒœλ“€μ„ 항상 옳게 μœ μ§€ν•˜λŠ” 것 (무결성을 μœ„ν•œ λ°©λ²•λ‘ μœΌλ‘œ single source of truthκ°€ 있음)

πŸ€” 각 μ»΄ν¬λ„ŒνŠΈκ°€ λ”°λ‘œλ”°λ‘œ μƒνƒœλ₯Ό κ°€μ§€κ³  μžˆλŠ” 건 μ•ˆ 될까?

  • μ„œλ‘œ λ‹€λ₯Έ μ»΄ν¬λ„ŒνŠΈκ°€ μ‚¬μš©ν•˜λŠ” μƒνƒœμ˜ μ’…λ₯˜κ°€ λ‹€λ₯Ό μ‹œ, μ„œλ‘œ λ‹€λ₯Έ μΆœμ²˜κ°€ μžˆμ–΄λ„ 상관없닀!
  • ν•˜μ§€λ§Œ, μ„œλ‘œ λ‹€λ₯Έ μ»΄ν¬λ„ŒνŠΈκ°€ λ™μΌν•œ μƒνƒœλ₯Ό λ‹€λ£° λ•ŒλŠ” μ„œλ‘œ λ‹€λ₯Έ μΆœμ²˜λ‘œλΆ€ν„° κ°€μ Έμ˜€λŠ” 것을 ν”Όν•΄μ•Ό ν•œλ‹€.

✨ μƒνƒœ μ°ΎκΈ° μ—°μŠ΅ | μž₯λ°”κ΅¬λ‹ˆ

 

'πŸ’» Development > React' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

[React] Props Drilling  (0) 2022.12.27
[React] Cmarket Hooks  (0) 2022.12.27
[React] Effect Hook  (0) 2022.12.11
[React] React 데이터 흐름과 Lifting state up  (0) 2022.12.11
[React] Reactμ—μ„œμ˜ State 이벀트 처리  (1) 2022.11.30