我正在尝试进行状态更改,这将在setTimeout之后更改setTimeout,但是,我一直得到一个"AboutHeader.jsx:21 Uncaught : this.setState不是一个函数“,我已经尝试过绑定(这个),但它仍然不能工作。进口反应从“反应”;
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();
}timeDelay() {setTimeout(函数updateState()){this.setState({class:“约-头-包装器”})};console.log("timeDelay已工作“);}
render() {
return (
<section className={this.state.class}></section>
)
}}
发布于 2016-10-15 19:32:04
你必须在.bind(this)上使用setTimout()。这是您在JSBin中的代码与绑定this。如果您删除它,它会抛出错误。
setTimeout(function updateState() {
this.setState({ class: "about-header-wrapper" })
}.bind(this), 1000); https://stackoverflow.com/questions/40063306
复制相似问题