我最近开始学习反应 . 我正在尝试制作秒表,以下是代码 .
import React, {
Component
} from 'react'
class Timer extends Component {
constructor(props) {
super(props);
this.state = {
minutes: 0,
seconds: 0,
};
this.startTimer = this.startTimer.bind(this)
this.stopTimer = this.stopTimer.bind(this)
this.changingTime = this.changingTime.bind(this)
}
startTimer() {
let d = new Date();
let startMin = d.getMinutes();
let startSec = d.getSeconds();
this.myVar = setInterval(this.changingTime(startMin, startSec), 1000)
}
changingTime(min, sec) {
let date = new Date();
this.setState({
minutes: date.getMinutes() - min,
seconds: date.getSeconds() - sec
})
}
stopTimer() {
clearInterval(this.myVar);
}
render() {
return(<div><p> I am timer </p>
<
Timing minutes = {
this.state.minutes
}
seconds = {
this.state.seconds
}
/> <
p > minutes < /p>
<
button onClick = {
this.startTimer
} > Start < /button> <
button onClick = {
this.stopTimer
} > Stop < /button> < /
div >
);
}
}
class Timing extends Component {
render() {
return ( <
h6 > {
this.props.minutes
}: {
this.props.seconds
} <
/h6>
);
}
}
export default Timer;
我在App.js中添加了 <Timer/>
. 我使用create-react-app创建了应用程序 . 页面加载并显示加载时需要显示的内容 . 但秒表不能按预期工作 .
this is the screenshot . 如您所见,页面正确加载但之后不起作用 . 控制台显示bundle.js加载失败错误 . 但我无法理解这是不正确工作的原因还是我的代码有问题 .