当前位置: 首页 > 知识库问答 >
问题:

aboutheader.jsx:21未捕获的类型错误:This.SetState不是函数

夏奕
2023-03-14

我试图在setTimeout之后进行状态更改以更改类名,但是,我总是得到一个“aboutheader.jsx:21 uncathed typeerror:this.setstate不是一个函数”。从“React”导入React;

require('../../stylesheets/component/aboutheader.scss');

constructor() {
    super()
this.timeDelay = this.timeDelay.bind(this);
    this.state = {
        class: "about-header-wrapper-hidden"
    }
}

componentDidMount() {
console.log("mounted");
    this.timeDelay();
}

timeDelay(){setTimeout(函数updateState(){this.setstate({class:“about-header-wrapper”})},1000);console.log(“timeDelay worked”);}

render() {
    return (
        <section className={this.state.class}></section>
    )
}

}

共有1个答案

督弘化
2023-03-14

您必须.bind(this)绑定到settimout()上。以下是JSBin中的代码,绑定this。如果删除它,它将引发错误。

setTimeout(function updateState() {
  this.setState({ class: "about-header-wrapper" })
}.bind(this), 1000); 
 类似资料:
  • 无法理解为什么在尝试实现此角度代码时会出现TypeError。它在类({constructor:function(){}})周围生成错误。不确定原因。谢谢你的帮助

  • store.js index.js 文件夹src compose index.js和store.js 显示消息未捕获类型错误:(0,_store.configureStore)在F12时不是函数 帮帮我谢谢

  • 我的代码: external.js: 不幸的是,当我包含外部脚本时,出现以下错误: 错误:$不是一个函数 我该怎么解决这个问题?请记住,我不能编辑外部Javascript文件,因为它是第三方的。

  • 在我的redux js应用程序(google appengine后端)中,当打开包含根组件的页面时,我会收到以下警告和错误消息。 警告:失败的proType:无效的prop类型的提供给,预期的。检查的渲染方法。bundle.js:6169 警告:propType失败:提供给的类型的无效,应为。检查的渲染方法。捆js:6169 警告:失败的上下文类型:类型的无效子上下文提供给,预期的。检查的渲染方法

  • 因此,我想使用Apollo客户端react钩子“usequery”查询运行Apollo服务器的graphql后端。 但是定义的查询常量将返回一个错误,它是:uncatched typeerror:(...)不是函数,因此页面根本不呈现。 我的ApolloClient和提供程序设置如下: 当加载应用程序时,它会给我上面提到的错误。我在2小时内跟踪了我能找到的每一个教程,googeling和YouTu

  • 当我将js逻辑作为单个js文件编写在闭包中时,一切正常,如下所示: 但是当我尝试在同一个js文件中的闭包之前插入一个日志替代函数时, 它抱怨存在类型错误: 我做错了什么?