2.7.2 Hook의 규칙
자, 이렇게 우리가 Hook을 처음으로 사용해봤습니다. 앞으로 다양한 Hook을 배워볼 텐데요. Hook을 사용할 땐 다음 규칙을 꼭 기억해주세요.
1. Hook은 컴포넌트의 최상위 레벨에서만 사용해야 합니다. 즉, Hook은 조건문이나 반복문 또는 중첩 함수에서 호출되면 안 됩니다. 만약 함수의 흐름 중간에 리턴을 하는 경우(early return)에는 Hook은 함수가 리턴되기 전에 사용되어야 합니다.
2. 여러 Hook을 사용하여 직접 Hook을 만들 수 있습니다. 이를 커스텀(Custom) Hook이라고 부릅니다. react 패키지 외에서 불러오는 Hook은 모두 커스텀 Hook입니다. 커스텀 Hook을 만드는 방법은 나중에 배워보겠습니다.
3. Hook은 커스텀 Hook 또는 함수 컴포넌트에서만 사용할 수 있습니다. 클래스에서는 사용이 불가능하며, 리액트와 관련없는 일반적인 자바스크립트 함수에서 사용하면 오류가 발생합니다.