gpt4 book ai didi

javascript - 如何使用 React 显示工作中的数字时钟

转载 作者:行者123 更新时间:2023-11-29 19:03:30 25 4
gpt4 key购买 nike

我想在浏览器上呈现数字时钟,我不知道在脚本中的什么地方使用 setInterval() 函数,也不知道用作第一个参数的函数名称是什么。

<!DOCTYPE html>
<html>
<head>
<title>My First App</title>
<script src="https://cdnjs.cloudflare.com/ajax/libs/babel-standalone/6.24.0/babel.js"></script>
</head>
<body>
<div id="react-app"></div>
<div id="clock-box"></div>

<script src="https://cdn.jsdelivr.net/react/0.14.0-rc1/react.js"></script>
<script src="https://cdn.jsdelivr.net/react/0.14.0-rc1/react-dom.js"></script>

<script type="text/jsx">

class StoryBox extends React.Component{
render(){
return(<div> Hello World </div> );
}
}
var target= document.getElementById('react-app');
var clockTarget=document.getElementById('clock-box');
ReactDOM.render(<StoryBox/>,target)

class ClockFunction extends React.Component{
render(){
return(<div>
<h1>Digital Clock</h1>
<h2>
{
new Date().toLocaleTimeString()
}
</h2>
</div>) ;
}
}

ReactDOM.render(<ClockFunction />,clockTarget);

</script>

</body>
</html>

最佳答案

为此你需要一些东西:

  1. 一个 setInterval 来更新时间
  2. 组件状态中的一个变量,用于跟踪时间
  3. 分别在组件安装和卸载时添加和删除 setInterval 的安全方法

这个组件会做所有这些事情:

class ClockFunction extends React.Component {

constructor() {
super();
this.state = { time: new Date() }; // initialise the state
}

componentDidMount() { // create the interval once component is mounted
this.update = setInterval(() => {
this.setState({ time: new Date() });
}, 1 * 1000); // every 1 seconds
}

componentWillUnmount() { // delete the interval just before component is removed
clearInterval(this.update);
}

render() {
const { time } = this.state; // retrieve the time from state

return (<div>
<h1>Digital Clock</h1>
<h2>
{/* print the string prettily */}
{time.toLocaleTimeString()}
</h2>
</div>);
}
}

关于javascript - 如何使用 React 显示工作中的数字时钟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44920162/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com