我对使用React非常陌生,因此尝试创建一个小型计时器应用程序,但是在运行此代码时收到以下错误:
(第40行:“ timeDisplay”未定义为no-undef)
class Home extends React.Component {
constructor(props) {
super(props);
// Four states:
// work , workStop, break, breakStop
this.state = {
status: 'workStop',
time: 1500
}
}
componentDidMount() {
var interval = setInterval(this.timeTick, 1000);
this.setState({interval});
}
componentWillUnmount() {
clearInterval(this.state.interval);
}
timeTick = () => {
if (this.state.time !== 0)
this.setState({
time: this.state.time - 1
});
}
timeDisplay = () => {
const minute = Math.floor(this.state.time / 60);
const second = (this.state.time % 60) < 10 ? '0' + (this.state.time % 60) : (this.state.time % 60);
return (minute + ' : ' + second);
}
render() {
const time = timeDisplay();
return (
<div>
<p className='timer'>{time}</p>
</div>
)
}
}
不知道在这种情况下该怎么做,我使用了箭头功能来定义组件内部的timeDisplay方法。
最佳答案
timeDisplay
是Home组件实例的成员。您需要this
才能访问该功能。因此使用:const time = this.timeDisplay();
是正确的const time = timeDisplay();
关于javascript - React Component中未定义“功能”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44560917/