Error map

Invalid hook call Error: Invalid hook call. Hooks can only be called inside of the body of a function component.

React · layer 1, On your device

Open the full error page →

Centre: this error. First ring: errors it is linked with (7). Outer ring: what those are linked with. Colours show the layer of a request each error belongs to. Click any dot to re-centre the map on it; hover to follow its connections. The centre dot opens the error page.

Invalid hook call — Error: Invalid hook call. Hooks can only be called inside of the body of a function component. (React)Invalid hoo…ERESOLVE — npm ERR! code ERESOLVE — unable to resolve dependency tree (npm)ERESOLVEHydration failed — Error: Hydration failed because the initial UI does not match what was rendered on the server (React)Hydration failedMaximum update depth — Error: Maximum update depth exceeded. This can happen when a component repeatedly calls setState inside componentWillUpdate or componentDidUpdate. (React)Maximum update depthToo many re-renders — Error: Too many re-renders. React limits the number of renders to prevent an infinite loop. (React)Too many re-rendersasync useEffect — Warning: useEffect must not return anything besides a function, which is used for clean-up. It looks like you wrote useEffect(async () => ...) (React)async useEffectuseLayoutEffect SSR — Warning: useLayoutEffect does nothing on the server (React)useLayoutEffect SSRreact-hooks/exhaustive-deps — React Hook useEffect has a missing dependency (react-hooks/exhaustive-deps) (React)react-hooks/exhaust…EACCES — npm ERR! code EACCES — permission denied (npm)EACCESMODULE_NOT_FOUND — Error: Cannot find module 'x' (MODULE_NOT_FOUND) (Node.js)MODULE_NOT_FOUNDE404 — npm ERR! code E404 — 404 Not Found: package@version is not in this registry (npm)E404ReferenceError — ReferenceError: x is not defined (JavaScript)ReferenceErrorObjects are not valid as a React child — Error: Objects are not valid as a React child (React)Objects are not val…validateDOMNesting — Warning: validateDOMNesting(...): <div> cannot appear as a descendant of <p>. (React)validateDOMNestinguncontrolled to controlled — Warning: A component is changing an uncontrolled input to be controlled (React)uncontrolled to con…setState during render — Warning: Cannot update a component (`Parent`) while rendering a different component (`Child`) (React)setState during ren…Actions must be plain objects — Error: Actions must be plain objects. Instead, the actual type was: 'function'. (React)Actions must be pla…RangeError — RangeError: Maximum call stack size exceeded (JavaScript)RangeErrorunique key prop — Warning: Each child in a list should have a unique "key" prop (React)unique key propElement type is invalid — Error: Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: undefined (React)Element type is inv…AbortError — AbortError: The user aborted a request. / signal is aborted without reason (JavaScript)AbortErrorbody already used — TypeError: Failed to execute 'json' on 'Response': body stream already read (JavaScript)body already usedEvent loop is closed — RuntimeError: Event loop is closed (Python)Event loop is closedProp did not match — Warning: Prop `className` did not match. Server: "x" Client: "y" (React)Prop did not match

Directly related (7)

ERESOLVEnpm

npm ERR! code ERESOLVE — unable to resolve dependency tree

npm 7+ found conflicting peer dependency requirements and refuses to install a broken tree.

Hydration failedReact

Error: Hydration failed because the initial UI does not match what was rendered on the server

The HTML rendered on the server differs from the first client render, so React (Next.js/Remix) can’t attach to it.

Maximum update depthReact

Error: Maximum update depth exceeded. This can happen when a component repeatedly calls setState inside componentWillUpdate or componentDidUpdate.

A component keeps updating itself in an effect or lifecycle — usually a useEffect that sets state its own dependencies change.

Too many re-rendersReact

Error: Too many re-renders. React limits the number of renders to prevent an infinite loop.

A state update runs during render, which triggers another render, which updates state again — forever.

async useEffectReact

Warning: useEffect must not return anything besides a function, which is used for clean-up. It looks like you wrote useEffect(async () => ...)

An async function was passed directly to useEffect, so it returns a Promise instead of a cleanup function.

useLayoutEffect SSRReact

Warning: useLayoutEffect does nothing on the server

A component using useLayoutEffect was server-rendered, where layout effects can’t run.

react-hooks/exhaustive-depsReact

React Hook useEffect has a missing dependency (react-hooks/exhaustive-deps)

ESLint warns that the effect reads a value that isn’t in its dependency array, so it may use a stale value.

Two steps away (16)

EACCESnpm

npm ERR! code EACCES — permission denied

npm can’t write to a directory — usually global installs into a root-owned folder.

MODULE_NOT_FOUNDNode.js

Error: Cannot find module 'x' (MODULE_NOT_FOUND)

Node can’t resolve the module path — the package isn’t installed, or a relative path/extension is wrong.

E404npm

npm ERR! code E404 — 404 Not Found: package@version is not in this registry

npm asked the registry for a package (or version) that doesn’t exist there — a typo, a private/scoped package without auth, or th…

ReferenceErrorJavaScript

ReferenceError: x is not defined

Code refers to a variable or function name that doesn’t exist in the current scope.

Objects are not valid as a React childReact

Error: Objects are not valid as a React child

You tried to render a plain object (or a Promise/Date) directly in JSX; React can only render strings, numbers, elements and arra…

validateDOMNestingReact

Warning: validateDOMNesting(...): <div> cannot appear as a descendant of <p>.

The JSX produces invalid HTML nesting, which also causes hydration mismatches in SSR.

uncontrolled to controlledReact

Warning: A component is changing an uncontrolled input to be controlled

An input’s `value` started as `undefined` (uncontrolled) and later became a defined value (controlled), or vice versa.

setState during renderReact

Warning: Cannot update a component (`Parent`) while rendering a different component (`Child`)

A child component updated a parent’s state during its render instead of in an effect or event handler.

Actions must be plain objectsReact

Error: Actions must be plain objects. Instead, the actual type was: 'function'.

A function (thunk) was dispatched but the thunk middleware isn’t configured.

RangeErrorJavaScript

RangeError: Maximum call stack size exceeded

A function called itself (directly or indirectly) too many times — usually infinite recursion.

unique key propReact

Warning: Each child in a list should have a unique "key" prop

When rendering a list with `.map()`, each element needs a stable, unique `key` so React can track items between renders.

Element type is invalidReact

Error: Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: undefined

JSX referenced a component that is undefined — almost always a default/named import mismatch.

AbortErrorJavaScript

AbortError: The user aborted a request. / signal is aborted without reason

A fetch was cancelled through an AbortController (or the browser cancelled it).

body already usedJavaScript

TypeError: Failed to execute 'json' on 'Response': body stream already read

A fetch Response body was consumed twice (e.g. calling .text() then .json()).

Event loop is closedPython

RuntimeError: Event loop is closed

Async code tried to use an event loop that has already been shut down.

Prop did not matchReact

Warning: Prop `className` did not match. Server: "x" Client: "y"

A prop rendered on the server differs from the client — usually CSS-in-JS class names or random IDs.