You need to enable JavaScript to run this app. TypeScript报错:never[]不可赋值给SetStateAction<never[]>如何解决
优惠活动
大模型
产品
解决方案
定价
更多

TypeScript报错:never[]不可赋值给SetStateAction<never[]>如何解决

问题原因
  • 报错的核心是visitedForms状态的类型推断错误。你初始化该状态时仅传入了空数组作为初始值,未显式声明类型,TypeScript会默认将空数组推导为never[]类型,即该数组不允许插入任何类型的元素。
  • 你后续的代码往数组中插入了currentIndex(number类型),返回的新数组类型为number[],和never[]的状态类型不匹配,因此触发TS类型报错。
解决方案

修改visitedForms对应的useState声明,显式指定数组元素类型为number即可:

// 错误的初始写法(对应你的原有代码逻辑)
const [visitedForms, setVisitedForms] = useState([])

// 修改为显式指定类型的写法
const [visitedForms, setVisitedForms] = useState<number[]>([])

修改后状态会被正确识别为数字数组,后续追加索引、排序的操作都不会再触发类型错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.17 09:24:09