You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Redux RTK遇"action中检测到非可序列化值"错误(仅含Date)

为什么Redux RTK会对Date实例抛出"non-serializable value was detected in an action"警告?

Redux RTK的序列化检查逻辑和你理解的JSON序列化不是一回事,核心原因有这几点:

  • Redux的序列化规则基于JSON可序列化的原始标准,只有字符串、数字、布尔值、null,以及普通数组、无原型的纯对象才算合规。Date是带有原型链和内置方法的实例对象,不属于这个范围。
  • 虽然JSON.stringify(new Date())能输出ISO格式的字符串,但这是JSON序列化时自动调用了Date的toJSON()方法做了转换。但RTK的serializableCheck中间件是在action创建时直接检查值的类型,不会自动帮你做这个转换,所以它会把Date实例判定为非序列化值。
  • RTK默认启用的严格序列化检查,会扫描action的payload、meta等所有字段,只要是带自定义原型的对象(比如Date、Map、Set、类实例),都会触发这个警告。

内容的提问来源于stack exchange,提问作者Greg

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 12:57:36