Доброго времени суток. Не так давно я познакомился с React и использовал нотацию ES5, но решил перейти на ES6 и получаю ошибку:
Uncaught TypeError: Cannot read property 'timeout' of undefined, хотя в конструкторе переменная есть:
import React from 'react';
class PomidoroTimer extends React.Component {
constructor(props) {
super(props);
this.intervals = [];
this.state = {
timeout: 25 * 60
};
}
componentWillMount() {
this.setInterval(this.decrimentTimer, 1000);
}
setInterval() {
this.intervals.push(setInterval.apply(null, arguments));
}
decrimentTimer() {
this.setState({timeout: this.state.timeout - 1});
}
componentWillUnmount() {
this.intervals.map(clearInterval);
}
updateTimeout(timeout) {
this.setState({ timeout: timeout });
}
render() {
return (
<div className="timer">
<div className="timer-block">
<div className="timer__digit-block">
<div className="digits">58</div>
<div className="timer__digit-block-text">Минут</div>
</div>
<div className="timer__separator"></div>
<div className="timer__digit-block">
<div className="digits">44</div>
<div className="timer__digit-block-text">Секунд</div>
</div>
</div>
</div>
);
}
}
export default PomidoroTimer;