[React] Hook πŸ‘‰ useEffect

μŠΉλ―Έλ‹ˆΒ·2021λ…„ 6μ›” 15일
0

React

λͺ©λ‘ 보기
3/10

1. useEffectλž€?

componentDidMount(), componentDidUpdate(), componentWillUnmount() 의 역할을 ν•œλ‹€.
μƒνƒœκ°’μ΄ λ³€κ²½λ˜μ—ˆμ„ λ•Œ λ™μž‘ν•˜λŠ” ν•¨μˆ˜λ₯Ό μž‘μ„±ν•  수 μžˆλ‹€.

// 맀번 ν•¨μˆ˜κ°€ ν˜ΈμΆœλœλ‹€. 
useEffect(() => {
	console.log("change");
})

// μœ„μ˜ 상황을 λ°©μ§€ν•˜κΈ° μœ„ν•΄μ„œ
// λ‘λ²ˆμ§Έ λ§€κ°œλ³€μˆ˜λ‘œ 배열을 μ „λ‹¬ν•œλ‹€. (μ˜μ‘΄μ„±λ°°μ—΄)
// -> count에 λ³€ν™”κ°€ μžˆμ„ λ•Œλ§Œ ν•¨μˆ˜κ°€ μ‹€ν–‰λœλ‹€ .
useEffect(() => {
	console.log("change");
}, [count]);

μ •λ¦¬ν•˜μžλ©΄

useEffect(() => {
	ν•¨μˆ˜
}, [μ˜μ‘΄μ„±λ°°μ—΄])

2. νŠΉμ§•

  • μƒνƒœκ°’μ΄ λ³€κ²½λ˜κ³  λ‹€μ‹œ λ Œλ”λ§λœ λ‹€μŒμ— ν˜ΈμΆœλœλ‹€.
  • λ‘λ²ˆμ§Έ λ§€κ°œλ³€μˆ˜λ‘œ 배열을 μž…λ ₯ν•˜λ©΄, λ°°μ—΄μ˜ 값이 λ³€κ²½λ˜λŠ” κ²½μš°μ—λ§Œ ν•¨μˆ˜κ°€ ν˜ΈμΆœλœλ‹€. 이것이 μ˜μ‘΄μ„± 배열이닀.
  • λ Œλ”λ§ 직후에 ν•œ 번만 μ‹€ν–‰λ˜λŠ” μž‘μ—…μ€ [] 빈 배열을 μ‚¬μš©ν•œλ‹€.

3. μ‚¬μš©ν•˜λŠ” 경우

  • APIλ₯Ό ν˜ΈμΆœν•  λ•Œ μ‚¬μš©ν•œλ‹€.
  • 이벀트 처리 ν•¨μˆ˜λ₯Ό λ“±λ‘ν•˜κ³  ν•΄μ œν•  λ•Œ μ‚¬μš©ν•œλ‹€.
profile
Web Frontend Developer

0개의 λŒ“κΈ€