All'alba vincerò

At dawn, I will win!

React

[React] React Hook(훅) 사용 규칙

나디아 Nadia 2024. 8. 6. 16:21

📌 React Hook(훅) 사용 규칙

 

✅ Hook은 최상위 레벨에서만 호출해야 한다.

  • Hook은 항상 React 함수의 최상위 레벨에서 호출하고, return 이전에 사용해야 한다. 
  • Hook은 React가 함수 컴포넌트를 렌더링하는 동안에만 호출할 수 있다.
  • return문, 반복문, 조건문, 이벤트 핸들러, 중첩 함수, try/catch/finally 블록 내부에서 호출 ❌
function Counter() {
  // 함수 컴포넌트의 최상위 레벨에서 사용
  const [count, setCount] = useState(0);
  // ...
}

function useWindowWidth() {
  // 커스텀 Hook의 최상위 레벨에서 사용
  const [width, setWidth] = useState(window.innerWidth);
  // ...
}

 

 

 

✅ Hook은 React 함수에서만 호출해야 한다. 

  • JavaScript 함수에서 Hook을 호출하면 안된다❌
  • Hook은 React 함수 컴포넌트, 커스텀 Hook에서 호출해야 한다.
// ✅ 리액트 컴포넌트
function FriendList() {
  const [onlineStatus, setOnlineStatus] = useOnlineStatus(); 
}

// ❌ JavaScript 함수
function setOnlineStatus() { 
  const [onlineStatus, setOnlineStatus] = useOnlineStatus();
}

 

 


 

 

Hook의 규칙 – React

The library for web and native user interfaces

ko.react.dev