non-serializable value React Origin: On your device Last updated 13 Oct 2026

A non-serializable value was detected in the state / in an action, in the path

Redux Toolkit’s middleware found a Date, Promise, class instance or function in state or an action.

Exact message you may see A non-serializable value was detectednon-serializable value was detected in an action
Seen on: React

Meaning

Redux state should be plain serializable data so devtools, persistence and time-travel work. Common: Date objects, Error objects, Maps, File objects, or redux-persist actions.

Common causes

  • Storing Date/Map/Set/class instances in state
  • Passing events or Files in action payloads
  • redux-persist actions (needs ignoredActions)

⚡ Quick fix

  1. Store ISO strings/timestamps instead of Date
  2. Keep non-serializable data outside Redux
  3. Configure serializableCheck.ignoredActions for redux-persist

Detailed fix by platform

React

  1. getDefaultMiddleware({ serializableCheck: { ignoredActions: [FLUSH, REHYDRATE, PAUSE, PERSIST, PURGE, REGISTER] } })

How to diagnose

  1. Path — Which path is named?
  2. Value — What type is it?

🔧 Still not fixed?

Many errors look alike. If the steps above didn’t solve it, one of these is probably what you’re facing:

Where this error sits

Origin: On your device. Errors that are often confused with or caused by this one (click to open):

409 — HTTP 409 Conflict (HTTP)409Actions must be plain objects — Error: Actions must be plain objects. Instead, the actual type was: 'function'. (React)Actions must be plain…Error acquiring the state lock — Terraform: Error: Error acquiring the state lock — ConditionalCheckFailedException / state blob is already locked (Terraform)Error acquiring the s…IllegalStateException — java.lang.IllegalStateException (Java)IllegalStateExceptionMaximum update depth — Error: Maximum update depth exceeded. This can happen when a component repeatedly calls setState inside componentWillUpdate or componentDidUpdate. (React)Maximum update depthModifying state during view update — SwiftUI: Modifying state during view update, this will cause undefined behavior (iOS)Modifying state durin…OptimisticLockException — Optimistic lock conflict: OptimisticLockException / StaleObjectStateException / version mismatch (API)OptimisticLockExcepti…setState during render — Warning: Cannot update a component (`Parent`) while rendering a different component (`Child`) (React)setState during rendernon-seria…

Explore the map of this error Full error map →

🧠 Still stuck? Analyze your error

Paste the full message, response headers or stack trace — we'll detect the platform and point to the most likely cause.

💬 What worked for others

No tips yet — did something else fix this for you?

Share what worked for you

Tips are checked by an editor before they appear. Links are removed.