AboutHeader.jsx:21 Uncaught TypeError: this.setState is not a function

Posted

技术标签:

【中文标题】AboutHeader.jsx:21 Uncaught TypeError: this.setState is not a function【英文标题】: 【发布时间】:2017-02-25 01:47:48 【问题描述】:

我正在尝试进行状态更改,这将在 setTimeout 之后更改 className,但是,我不断收到“”我尝试绑定(this)但它仍然无法正常工作。 从“反应”导入反应;

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

导出默认类 AboutHeader 扩展 React.Component

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


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

时间延迟() setTimeout(function updateState()this.setState(class: "about-header-wrapper"), 1000); console.log("timeDelay 工作");

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

【问题讨论】:

【参考方案1】:

你必须在setTimout().bind(this)。 Here's your code in JSBin 与绑定 this。如果删除它,则会引发错误。

setTimeout(function updateState() 
  this.setState( class: "about-header-wrapper" )
.bind(this), 1000); 

【讨论】:

谢谢。那行得通。我知道我必须绑定“this”,但我一直失败。非常感谢。

以上是关于AboutHeader.jsx:21 Uncaught TypeError: this.setState is not a function的主要内容,如果未能解决你的问题,请参考以下文章

为啥 jQuery 不能在 WordPress 页面上运行?

未捕获的引用错误:未定义 Toastify

jquery的2.0.3版本源码系列总体结构

vue里怎么生成带有图标logo的二维码?

vue里怎么生成带有图标logo的二维码?

网页 H5 播放音频 audio 问题记录