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

TypeError:this.set状态在5秒后不是一个函数[重复]

韦衡
2023-03-14

我试图在5秒后设置状态中的值。但是在5秒之后,它在this.setState({text:false})行显示错误。

代码片段

 constructor(props){
    super(props)
    this.state={
        text:true,
        }
      }
 loadtext(){
 setTimeout(() => {
  this.setState({text:false});
  },5000)

错误:

TypeError:this.setState不是函数

如何解决这个问题?

共有1个答案

陆昂然
2023-03-14

您需要绑定loadtextfoo

 constructor(props){
    super(props);
    this.loadtext = this.loadtext.bind(this); // here change
    this.state={
        text:true,
    }
 }

 loadtext() {
    setTimeout(() => {
    this.setState({text:false});
    }, 5000)
 }
 类似资料:
  • 它可能会引起某人的兴趣并节省几个小时,这是一个令人讨厌的捆绑问题,eval来自一个文件,函数来自第二个文件。 将导致:未捕获的类型错误:评估(...)不是一个函数 这就是解决办法 缺少分号,我在JS optional中读了几遍该分号。 为什么eval不是此上下文中的函数?

  • 我得到这个错误: 我的http语法缺少什么?

  • 我试图做一个登录表单,它需要我迁移我的soloreac应用程序在反应redux应用程序。我面临许多错误,并坚持与。我是这方面的新手,任何帮助都会得到重视。 指数js文件 应用程序。js文件: 我得到这个错误。我不明白是什么文件或代码导致了这个错误。 类型错误:存储。getState不是新提供程序节点的函数\u modules/react redux/es/components/Provider。j

  • 我在React中有各种各样的函数,其中我需要使用useState更改状态,然后根据新状态是否满足某些条件执行一些操作。 当使用prop=“newpassword”调用handleChange时,它使用useState中的setValues方法设置newpassword的值。然后使用正则表达式测试对新密码进行评估,如果它有效,则状态变量passwordIsValid应设置为true。 状态总是比th

  • 我想在我的视频中添加一个水印,但我不想在视频开始时添加它,在视频开始后,大约60s,我希望水印每60s显示一次,持续30s。我应该怎么写:

  • 问题内容: jQuery,如何每5秒调用一次函数。 我正在寻找一种自动化幻灯片显示中图像更改的方法。 如果可能的话,我宁愿不安装其他任何第三方插件。 问题答案: 为此,您不需要jquery,使用简单的javascript即可! 要停止循环,您可以使用