Error map

[Vue warn]: Set operation on key failed: target is readonly Vue: [Vue warn]: Set operation on key "name" failed: target is readonly.

Vue · layer 1, On your device

Open the full error page →

Centre: this error. First ring: errors it is linked with (12). 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.

[Vue warn]: Set operation on key failed: target is readonly — Vue: [Vue warn]: Set operation on key "name" failed: target is readonly. (Vue)[Vue warn]:…key is not a prop — Warning: `key` is not a prop. Trying to access it will result in `undefined` being returned. (React)key is not a propnon-boolean attribute — Warning: Received `true` for a non-boolean attribute `x`. (React)non-boolean attribu…Avoid mutating a prop directly — Vue: [Vue warn]: Avoid mutating a prop directly since the value will be overwritten whenever the parent component re-renders (Vue)Avoid mutating a pr…[Vue warn]: Missing required prop — Vue: [Vue warn]: Missing required prop: "title" (Vue)[Vue warn]: Missing…[Vue warn]: Maximum recursive updates exceeded — Vue: [Vue warn]: Maximum recursive updates exceeded in component <Foo>. This means you have a reactive effect that is mutating its own dependencies and thus recursively triggering itself (Vue)[Vue warn]: Maximum…Error: [vuex] do not mutate vuex store state outside mutation handlers — Vuex (strict mode): Error: [vuex] do not mutate vuex store state outside mutation handlers. (Vue)Error: [vuex] do no…Failed prop type: The prop href expects a string or object in <Link> — Next.js: Error: Failed prop type: The prop `href` expects a `string` or `object` in `<Link>`, but got `undefined` instead (Next.js)Failed prop type: T…[Vue warn]: Invalid prop: type check failed — Vue: [Vue warn]: Invalid prop: type check failed for prop "count". Expected Number with value 5, got String with value "5" (Vue)[Vue warn]: Invalid…Vite: Failed to parse source / Unknown file extension ".vue" — Vite/Vue: [plugin:vite:import-analysis] Failed to parse source for import analysis — you may need to install appropriate plugins to handle the .vue file format (Vue)Vite: Failed to par…[Vue warn]: Write operation failed: computed value is readonly — Vue: [Vue warn]: Write operation failed: computed value is readonly (Vue)[Vue warn]: Write o…ESLint Parsing error in .vue files — ESLint: Parsing error: Unexpected token < / Parsing error: '>' expected (vue-eslint-parser not configured) (Vue)ESLint Parsing erro…[Vue warn]: Avoid adding reactive properties to a Vue instance or its root $data at runtime — Vue 2: [Vue warn]: Avoid adding reactive properties to a Vue instance or its root $data at runtime - declare it upfront in the data option (Vue)[Vue warn]: Avoid a…unique key prop — Warning: Each child in a list should have a unique "key" prop (React)unique key propuncontrolled to controlled — Warning: A component is changing an uncontrolled input to be controlled (React)uncontrolled to con…IndexError — IndexError: list index out of range (Python)IndexErrorObjects are not valid as a React child — Error: Objects are not valid as a React child (React)Objects are not val…Nothing was returned from render — Error: Nothing was returned from render. This usually means a return statement is missing. (React)Nothing was returne…Adjacent JSX elements — Adjacent JSX elements must be wrapped in an enclosing tag. Did you want a JSX fragment <>...</>? (React)Adjacent JSX elemen…Failed to resolve component — Vue: [Vue warn]: Failed to resolve component: x (Vue)Failed to resolve c…Property was accessed during render but is not defined — Vue: [Vue warn]: Property "x" was accessed during render but is not defined on instance (Vue)Property was access…TS2741: Property is missing in type but required in type — TypeScript: error TS2741: Property 'email' is missing in type '{ name: string; }' but required in type 'User'. (TypeScript)TS2741: Property is…TS7031: Binding element implicitly has an 'any' type — TypeScript: error TS7031: Binding element 'name' implicitly has an 'any' type. (TypeScript)TS7031: Binding ele…[Vue warn]: Extraneous non-props attributes — Vue: [Vue warn]: Extraneous non-props attributes (class) were passed to component but could not be automatically inherited because component renders fragment or text root nodes (Vue)[Vue warn]: Extrane…[Vue warn]: Component emitted event but it is neither declared in the emits option nor as an onXxx prop — Vue: [Vue warn]: Component emitted event "update" but it is neither declared in the emits option nor as an "onUpdate" prop (Vue)[Vue warn]: Compone…[Vue warn]: Unhandled error during execution of setup/mounted hook — Vue: [Vue warn]: Unhandled error during execution of mounted hook / TypeError: Cannot read properties of undefined (reading 'x') (Vue)[Vue warn]: Unhandl…Vue received a Component that was made a reactive object — Vue: [Vue warn]: Vue received a Component that was made a reactive object — mark it with `markRaw` or use `shallowRef` (Vue)Vue received a Comp…[Vue warn]: Slot "default" invoked outside of the render function — Vue: [Vue warn]: Slot "default" invoked outside of the render function: this will not track dependencies used in the slot (Vue)[Vue warn]: Slot "d…[vuex] unknown mutation type / unknown action type — Vuex: [vuex] unknown mutation type: SET_USER / [vuex] unknown action type: fetchUser (Vue)[vuex] unknown muta…Nuxt: Failed to fetch dynamically imported module (after deploy) — Nuxt: [nuxt] error caught during app initialization TypeError: Failed to fetch dynamically imported module / Loading chunk failed (Vue)Nuxt: Failed to fet…Nuxt 404: Page not found (route/file naming) — Nuxt: 404 Page not found: /blog/my-post / [Vue Router warn]: No match found for location with path (Vue)Nuxt 404: Page not …needs useState — You're importing a component that needs useState. It only works in a Client Component but none of its parents are marked with "use client" (React)needs useStatenext build: JavaScript heap out of memory — Next.js: FATAL ERROR: Reached heap limit Allocation failed - JavaScript heap out of memory (during next build) (Next.js)next build: JavaScr…next build: fetch failed ECONNREFUSED (build-time API) — Next.js: Error occurred prerendering page "/blog" TypeError: fetch failed { cause: Error: connect ECONNREFUSED 127.0.0.1:3000 } (Next.js)next build: fetch f…[Vue warn]: injection "x" not found — Vue: [Vue warn]: injection "theme" not found. (Vue)[Vue warn]: injecti…[Vue warn]: The computed property "x" is already defined in data/props — Vue: [Vue warn]: The computed property "name" is already defined in data. (Vue)[Vue warn]: The com…Vite failed to resolve import — [vite] Internal server error: Failed to resolve import "x" from "src/App.jsx". Does the file exist? (React)Vite failed to reso…Could not Fast Refresh — [vite] hmr invalidate … Could not Fast Refresh. Export is incompatible. (React)Could not Fast Refr…[Vue warn]: Duplicate keys found during update — Vue: [Vue warn]: Duplicate keys found during update: "5", possible duplicate or missing keys (Vue)[Vue warn]: Duplica…v-model cannot be used on a prop (compile error) — Vue: [@vue/compiler-sfc] v-model cannot be used on a prop, because local prop bindings are not writable (Vue)v-model cannot be u…react-hooks/exhaustive-deps — React Hook useEffect has a missing dependency (react-hooks/exhaustive-deps) (React)react-hooks/exhaust…Failed to compile: ESLint errors during next build — Next.js: Failed to compile. ./src/app/page.tsx 12:7 Error: 'x' is assigned a value but never used. @typescript-eslint/no-unused-vars (Next.js)Failed to compile: …TS1005: ';' expected / ',' expected (syntax error) — TypeScript: error TS1005: ';' expected. (TypeScript)TS1005: ';' expecte…[Vue warn]: Error in v-on handler / Error in mounted hook (Vue 2) — Vue 2: [Vue warn]: Error in v-on handler: "TypeError: Cannot read property 'x' of undefined" (Vue)[Vue warn]: Error i…

Directly related (12)

key is not a propReact

Warning: `key` is not a prop. Trying to access it will result in `undefined` being returned.

A component tried to read props.key, which React reserves and never passes down.

non-boolean attributeReact

Warning: Received `true` for a non-boolean attribute `x`.

A boolean was passed to a DOM attribute that expects a string, or a custom prop leaked through to a DOM element.

Avoid mutating a prop directlyVue

Vue: [Vue warn]: Avoid mutating a prop directly since the value will be overwritten whenever the parent component re-renders

A child component assigned to a prop. Props flow one way — the parent owns the value.

[Vue warn]: Missing required propVue

Vue: [Vue warn]: Missing required prop: "title"

A component marked a prop as `required` but the parent didn't pass it.

[Vue warn]: Maximum recursive updates exceededVue

Vue: [Vue warn]: Maximum recursive updates exceeded in component <Foo>. This means you have a reactive effect that is mutating its own dependencies and thus recursively triggering itself

A watcher/computed/render effect keeps changing the state it depends on, creating an infinite update loop.

Error: [vuex] do not mutate vuex store state outside mutation handlersVue

Vuex (strict mode): Error: [vuex] do not mutate vuex store state outside mutation handlers.

Store state was modified directly (in a component or action) while strict mode is on.

Failed prop type: The prop href expects a string or object in <Link>Next.js

Next.js: Error: Failed prop type: The prop `href` expects a `string` or `object` in `<Link>`, but got `undefined` instead

`` received `undefined` (or another invalid value), so Next.js can't build the link.

[Vue warn]: Invalid prop: type check failedVue

Vue: [Vue warn]: Invalid prop: type check failed for prop "count". Expected Number with value 5, got String with value "5"

A prop received a value of the wrong type.

Vite: Failed to parse source / Unknown file extension ".vue"Vue

Vite/Vue: [plugin:vite:import-analysis] Failed to parse source for import analysis — you may need to install appropriate plugins to handle the .vue file format

Vite can't process `.vue` files because the Vue plugin isn't installed/enabled.

[Vue warn]: Write operation failed: computed value is readonlyVue

Vue: [Vue warn]: Write operation failed: computed value is readonly

You assigned to a `computed` that has no setter.

ESLint Parsing error in .vue filesVue

ESLint: Parsing error: Unexpected token < / Parsing error: '>' expected (vue-eslint-parser not configured)

ESLint can't parse `.vue` files because the Vue parser isn't configured.

[Vue warn]: Avoid adding reactive properties to a Vue instance or its root $data at runtimeVue

Vue 2: [Vue warn]: Avoid adding reactive properties to a Vue instance or its root $data at runtime - declare it upfront in the data option

In Vue 2 you added a property to the root data (or instance) after creation, which can't be made reactive.

Two steps away (31)

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.

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.

IndexErrorPython

IndexError: list index out of range

Code accessed a list position that doesn’t exist.

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…

Nothing was returned from renderReact

Error: Nothing was returned from render. This usually means a return statement is missing.

A component returned undefined (React 17 and earlier) — usually a missing return or a return followed by a line break.

Adjacent JSX elementsReact

Adjacent JSX elements must be wrapped in an enclosing tag. Did you want a JSX fragment <>...</>?

A component returns two sibling JSX elements without a single parent.

Failed to resolve componentVue

Vue: [Vue warn]: Failed to resolve component: x

The template uses a component tag that isn’t registered or imported where it’s used.

Property was accessed during render but is not definedVue

Vue: [Vue warn]: Property "x" was accessed during render but is not defined on instance

The template references a variable/function that the component doesn’t expose.

TS2741: Property is missing in type but required in typeTypeScript

TypeScript: error TS2741: Property 'email' is missing in type '{ name: string; }' but required in type 'User'.

An object lacks one required property of the target type.

TS7031: Binding element implicitly has an 'any' typeTypeScript

TypeScript: error TS7031: Binding element 'name' implicitly has an 'any' type.

A destructured parameter has no type, so its elements default to `any`.

[Vue warn]: Extraneous non-props attributesVue

Vue: [Vue warn]: Extraneous non-props attributes (class) were passed to component but could not be automatically inherited because component renders fragment or text root nodes

Attributes (class, style, listeners) passed to a component can't be applied because the component has multiple root nodes.

[Vue warn]: Component emitted event but it is neither declared in the emits option nor as an onXxx propVue

Vue: [Vue warn]: Component emitted event "update" but it is neither declared in the emits option nor as an "onUpdate" prop

A component calls `emit("update")` without declaring it in `emits`.

[Vue warn]: Unhandled error during execution of setup/mounted hookVue

Vue: [Vue warn]: Unhandled error during execution of mounted hook / TypeError: Cannot read properties of undefined (reading 'x')

An exception was thrown inside a lifecycle hook, watcher, event handler or render, and Vue logs it with the context.

Vue received a Component that was made a reactive objectVue

Vue: [Vue warn]: Vue received a Component that was made a reactive object — mark it with `markRaw` or use `shallowRef`

A component definition was stored in a `ref`/`reactive`, making Vue proxy it unnecessarily.

[Vue warn]: Slot "default" invoked outside of the render functionVue

Vue: [Vue warn]: Slot "default" invoked outside of the render function: this will not track dependencies used in the slot

A slot function was called outside render (in `setup`, a computed or watcher), so reactivity isn't tracked.

[vuex] unknown mutation type / unknown action typeVue

Vuex: [vuex] unknown mutation type: SET_USER / [vuex] unknown action type: fetchUser

`commit`/`dispatch` was called with a name that isn't registered in the store (or its module namespace).

Nuxt: Failed to fetch dynamically imported module (after deploy)Vue

Nuxt: [nuxt] error caught during app initialization TypeError: Failed to fetch dynamically imported module / Loading chunk failed

A browser tab running the old build requests chunk files that were replaced by a new deployment.

Nuxt 404: Page not found (route/file naming)Vue

Nuxt: 404 Page not found: /blog/my-post / [Vue Router warn]: No match found for location with path

Nuxt's file-based router has no page matching the URL (wrong file/folder names or missing param syntax).

needs useStateReact

You're importing a component that needs useState. It only works in a Client Component but none of its parents are marked with "use client"

In the Next.js App Router, a component using hooks or browser APIs is rendered as a Server Component.

next build: JavaScript heap out of memoryNext.js

Next.js: FATAL ERROR: Reached heap limit Allocation failed - JavaScript heap out of memory (during next build)

Node ran out of memory while building a large Next.js app (or on a small CI/Vercel runner).

next build: fetch failed ECONNREFUSED (build-time API)Next.js

Next.js: Error occurred prerendering page "/blog" TypeError: fetch failed { cause: Error: connect ECONNREFUSED 127.0.0.1:3000 }

During `next build` a page tried to fetch data from a server (often your own app or an API) that isn't running yet.

[Vue warn]: injection "x" not foundVue

Vue: [Vue warn]: injection "theme" not found.

`inject("theme")` ran but no ancestor provided it.

[Vue warn]: The computed property "x" is already defined in data/propsVue

Vue: [Vue warn]: The computed property "name" is already defined in data.

A name is used twice among props/data/computed/methods in the Options API.

Vite failed to resolve importReact

[vite] Internal server error: Failed to resolve import "x" from "src/App.jsx". Does the file exist?

Vite couldn’t find an imported file or package.

Could not Fast RefreshReact

[vite] hmr invalidate … Could not Fast Refresh. Export is incompatible.

Fast Refresh fell back to a full reload because the file exports non-components alongside components.

[Vue warn]: Duplicate keys found during updateVue

Vue: [Vue warn]: Duplicate keys found during update: "5", possible duplicate or missing keys

Items in a `v-for` list share the same `:key`, which breaks Vue's diffing.

v-model cannot be used on a prop (compile error)Vue

Vue: [@vue/compiler-sfc] v-model cannot be used on a prop, because local prop bindings are not writable

A template uses `v-model` on a prop (or a `v-for` alias), which can't be assigned.

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.

Failed to compile: ESLint errors during next buildNext.js

Next.js: Failed to compile. ./src/app/page.tsx 12:7 Error: 'x' is assigned a value but never used. @typescript-eslint/no-unused-vars

`next build` runs ESLint and fails the build on lint errors.

TS1005: ';' expected / ',' expected (syntax error)TypeScript

TypeScript: error TS1005: ';' expected.

The parser hit a syntax error — missing punctuation, mismatched brackets, or an unsupported syntax for your TypeScript version.

[Vue warn]: Error in v-on handler / Error in mounted hook (Vue 2)Vue

Vue 2: [Vue warn]: Error in v-on handler: "TypeError: Cannot read property 'x' of undefined"

An exception was thrown inside a Vue 2 event handler or lifecycle hook, logged with context.