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

Next.js 13中useState报错求助:TypeError提示不可迭代

修复Next.js 13中useState泛型语法导致的迭代错误

错误原因

你遇到的错误是因为代码中的泛型注解<Boolean>被解析成了比较运算符(<和>),而非TypeScript的泛型语法,导致useState < Boolean > false被当作比较表达式,返回结果不是可解构的数组,因此无法执行数组解构赋值。

修复步骤

  • 检查文件扩展名:确保组件文件后缀为.tsx(React组件文件)或.ts(TypeScript脚本文件)。如果是.js或.jsx文件,TypeScript泛型语法会被识别为普通比较操作,触发该错误。
  • 规范类型注解写法:将Boolean改为TypeScript原生的小写boolean类型,这是更符合TS规范的用法:
    const [ productShow, setProductShow ] = useState<boolean>(false);
    
  • 验证TS配置:若文件扩展名正确仍报错,检查项目根目录的tsconfig.json,确保jsx配置项为"preserve"或"react-jsx"(Next.js 13默认配置已满足此要求),保证TypeScript能正确解析JSX中的泛型语法。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 06:54:56