我有一个基本的firefox Web扩展-react app。
我希望它具有的基本功能是:当我单击弹出窗口时,计时器启动,并一直持续到关闭浏览器窗口。
这是反应代码:
import React from "react";
import ReactDOM from "react-dom";
class Popup extends React.Component {
constructor(props) {
super(props);
this.state = { time: 0 };
this.timer = this.timer.bind(this);
this.timeIt = this.timeIt.bind(this);
}
componentWillMount() {
this.timer();
}
timer() {
setInterval(this.timeIt, 1000);
}
timeIt() {
let x = this.state.time + 1;
this.setState({ time: x });
}
render() {
return (
<div>
<h1>{this.state.time}</h1>
</div>
);
}
}
ReactDOM.render(<Popup />, document.getElementById("app"));
具有此功能,每次我单击弹出窗口时,计时器都会重新启动。
如何在每个浏览器会话中仅初始化一次计时器?
(也许使用Window.sessionStorage作为标志?还是这种情况有内置功能?)