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

React useState使用时出现setData is not a function报错如何解决

报错原因

你编写的代码缺少对useState Hook的调用:

const [data, setData] = ([]);

上述代码的右侧是一个直接定义的空数组,对空数组进行解构赋值时,data会拿到数组第0位的undefined,setData会拿到数组第1位的undefined,调用undefined自然会抛出「setData不是函数」的报错。

解决方法

在空数组外层添加useState调用即可,修改后的代码如下:

// 组件顶部先引入useState
import { useState } from 'react';

// 组件内正确声明state
const [data, setData] = useState([]);

补充注意事项

  • useState的入参就是state的初始值,这里传入[]就表示data的初始值为空数组
  • 只有useState的返回值才是固定的[state值, state更新函数]结构,能正确解构出可用的setter函数

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 10:51:02