![](/img/trans.png)
[英]Uncaught TypeError: Cannot read property 'setState' of undefined
[英]Uncaught TypeError: Cannot read property 'enqueueSetState' of undefined at Component.setState
Counter
組件保持為0
。 這是否無處可去,以至於抓住了錯誤?
class Counter extends React.Component {
constructor(props) {
super(props)
this.state = {
count: 0
}
setInterval(this.setState, 1000, {
count: this.state.count + 1
})
}
render() {
return <p>{this.state.count}</p>
}
}
你的setInterval
(和setState
)語法應該是這樣的:
setInterval(() => {
this.setState(state => ({
count: state.count + 1
}));
}, 1000)
setState
是異步的,如果您使用對象版本,它可能會不同步。運行示例:
class Counter extends React.Component { constructor(props) { super(props) this.state = { count: 0 } setInterval(() => { this.setState(state => ({ count: state.count + 1 })); }, 1000) } render() { return <p > { this.state.count } < /p> } } ReactDOM.render(<Counter/>, document.getElementById('root'));
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react-dom.min.js"></script> <div id="root" />
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.