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

技术求助:Uncaught Error: object is not a function错误(涉及this.state)

问题原因

你代码里的错误出在buttonPressed方法里的this.setState= ({...})这一行:

  • setState是React组件提供的方法,需要通过调用的方式使用(加括号()),但你写成了赋值语句(用=把对象赋值给this.setState),这会把原本的setState函数覆盖成一个普通对象。
  • 当后续代码试图调用this.setState时,它已经不是函数了,所以抛出object is not a function的错误。
解决方案

把赋值的等号去掉,改成调用方法的形式:

buttonPressed(input) {
  console.log(input)

  if (input == '='){
    return this.calculateResult()
  }

  // 去掉多余的等号,正确调用setState方法
  this.setState({
    resultText : this.state.resultText + input
  })
}

额外优化建议

因为新状态resultText依赖于旧状态的值,推荐使用函数式更新的写法,避免React状态异步更新带来的潜在问题:

this.setState(prevState => ({
  resultText: prevState.resultText + input
}))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 07:10:31