首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AboutHeader.jsx:21 Uncaught : this.setState不是一个函数

AboutHeader.jsx:21 Uncaught : this.setState不是一个函数
EN

Stack Overflow用户
提问于 2016-10-15 19:24:46
回答 1查看 492关注 0票数 2

我正在尝试进行状态更改,这将在setTimeout之后更改setTimeout,但是,我一直得到一个"AboutHeader.jsx:21 Uncaught : this.setState不是一个函数“,我已经尝试过绑定(这个),但它仍然不能工作。进口反应从“反应”;

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

导出默认类AboutHeader扩展React.Component {

代码语言:javascript
复制
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:“约-头-包装器”})};console.log("timeDelay已工作“);}

代码语言:javascript
复制
render() {
    return (
        <section className={this.state.class}></section>
    )
}

}

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-10-15 19:32:04

你必须在.bind(this)上使用setTimout()这是您在JSBin中的代码与绑定this。如果您删除它,它会抛出错误。

代码语言:javascript
复制
setTimeout(function updateState() {
  this.setState({ class: "about-header-wrapper" })
}.bind(this), 1000); 
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40063306

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档