이전 렌더링보다 더 많은 후크를 렌더링했습니다.

React의 함수 컴포넌트 내에서 useState, useEffect, useContext, useReducer 등의 Hooks를 사용할 때 발생하는 오류입니다.

이 오류는 이전 렌더링에서 호출되지 않은 Hook이 현재 렌더링에서 호출되었기 때문에 발생합니다.

이 오류는 일반적으로 다음과 같은 경우에 발생합니다.

  1. 조건문 내에서 Hook이 호출되는 경우
  2. 함수 구성 요소의 중첩된 함수 내에서 Hook이 호출되는 경우
  3. 구성 요소 외부에서 Hook이 호출되는 경우

이를 해결하기 위해 다음과 같은 방법이 있습니다.

  1. Hook은 조건문 안에서 사용하지 말고 조건문 밖에서 사용하세요.
  2. 중첩 함수 내에서 Hook을 사용하지 말고 함수 구성 요소의 최상위 수준에서 사용하십시오.
  3. 구성 요소 기능 내에서만 Hook을 사용하십시오.

이러한 방법으로 문제가 해결되지 않으면 구성 요소를 클래스 구성 요소로 변경하거나

후크를 사용하지 않는 리팩토링 방식을 사용해야 합니다.