Skip to content

eslint-plugin-react-hooks

INFO

이 문서는 ChatGPT 5.5를 통해 작성되었습니다.

기준일: 2026-04-29
기준 버전: eslint-plugin-react-hooks@7.1.1
출처: npm eslint-plugin-react-hooks, 패키지 배포본의 rules 메타데이터

규칙 목록

규칙설명
capitalized-calls대문자로 시작하는 함수나 메서드를 일반 함수처럼 호출하지 않고 JSX로 사용하도록 검사합니다.
configReact Compiler 설정 옵션이 유효한지 검사합니다.
error-boundaries자식 컴포넌트 오류 처리를 try/catch가 아니라 Error Boundary로 하도록 검사합니다.
exhaustive-depsuseEffect 등 Hooks의 의존성 배열이 실제 사용값을 빠짐없이 포함하는지 검사합니다.
exhaustive-effect-dependencieseffect 의존성이 빠짐없고 불필요한 값이 없는지 더 엄격하게 검사합니다.
fbtfbt 사용 방식이 유효한지 검사합니다.
gatingReact Compiler gating mode 설정이 유효한지 검사합니다.
globals렌더 중 전역 값에 할당하거나 전역 값을 변경하는 부작용을 금지합니다.
hooksHooks 사용 규칙을 검사하는 React Compiler 계열 규칙입니다.
immutabilityprops, state 등 불변이어야 하는 값을 직접 변경하지 못하게 합니다.
incompatible-librarymemoization과 호환되지 않는 라이브러리 사용을 경고합니다.
invariantReact Compiler 내부 불변 조건을 검사합니다.
memo-dependenciesuseMemo()useCallback() 의존성이 충분하고 불필요한 값이 없는지 검사합니다.
memoized-effect-dependencieseffect 의존성으로 쓰는 값이 memoized되어 있는지 검사합니다.
no-deriving-state-in-effectseffect 안에서 state로부터 다시 파생 state를 만드는 패턴을 금지합니다.
preserve-manual-memoizationReact Compiler가 기존 수동 memoization 의도를 깨지 않도록 검사합니다.
purity컴포넌트와 Hook이 순수해야 하며, 렌더 중 알려진 impure 함수를 호출하지 않도록 검사합니다.
refs렌더 중 ref를 읽거나 쓰는 등 잘못된 ref 사용을 금지합니다.
rule-suppression다른 규칙을 억제하는 주석 사용을 검사합니다.
rules-of-hooksHook을 조건문, 반복문, 중첩 함수 등 잘못된 위치에서 호출하지 못하게 합니다.
set-state-in-effecteffect 안에서 동기적으로 setState를 호출하는 패턴을 금지합니다.
set-state-in-render렌더 중 state를 설정해 추가 렌더나 무한 렌더를 유발하는 패턴을 금지합니다.
static-components렌더마다 새로 생성되는 동적 컴포넌트를 금지합니다.
syntaxReact Compiler가 처리할 수 없는 잘못된 구문을 검사합니다.
todoReact Compiler의 아직 구현되지 않은 기능 관련 상태를 검사합니다.
unsupported-syntaxReact Compiler가 지원할 계획이 없는 구문 사용을 경고합니다.
use-memouseMemo() 사용에서 흔한 실수를 검사합니다.
void-use-memouseMemo가 값을 반환하고 그 결과가 실제로 사용되도록 검사합니다.