我实现了一个香草JS倒计时进入反应成分如下:阵营倒计时错误
import React, { Component } from 'react';
class CustomCountDown extends Component {
constructor(props) {
super(props);
this.endTime;
this.msLeft;
this.time;
this.hours;
this.mins;
this.element;
}
twoDigits(n){
return (n <= 9 ? "0" + n : n);
}
updateTimer() {
this.msLeft = this.endTime - (+new Date);
if (this.msLeft < 1000) {
element.innerHTML = "countdown's over!";
} else {
this.time = new Date(this.msLeft);
this.hours = this.time.getUTCHours();
this.mins = this.time.getUTCMinutes();
this.element.innerHTML = (this.hours ? this.hours + ':' + this.twoDigits(this.mins) : this.mins) + ':' + this.twoDigits(this.time.getUTCSeconds());
setTimeout(this.updateTimer, this.time.getUTCMilliseconds() + 500);
}
}
countdown(elementName, minutes, seconds) {
this.element = document.getElementById(elementName);
this.endTime = (+new Date) + 1000 * (60*minutes + seconds) + 500;
this.updateTimer();
}
componentDidMount() {
this.countdown("count", 1, 30);
}
render() {
return(
<div id="count">
</div>
);
}
}
export default CustomCountDown;
我想不通为什么我收到以下错误:
需要绑定'this'(反应组件的上下文)与'updateTimer'功能,把这个线在构造函数中:'this.updateTimer =这.updateTimer.bind(this)' –
谢谢你解决了! – Alex
您的任何函数都没有适当的绑定。你需要绑定你引用属于React类上下文的'this'变量的每个函数 –