使用效果显示react中的时间

问题描述 投票:0回答:1
import React, { useState, useEffect } from 'react';

function Child() {
  const [time, setTime] = useState(new Date());
  useEffect(() => {
    const interval = setInterval(() => {
      setTime(new Date());
    }, 1000);

  }, []);

  return <p>The current time is: {time.toLocaleTimeString()}</p>;
}
export default Child;

我无法理解时间是如何每秒变化的,因为我们知道我已将依赖项作为空数组给出,它应该只更新一次,但每秒更新一次,但是你怎么解释,所以任何人都可以解释一下如何代码工作

javascript reactjs react-hooks setinterval
1个回答
0
投票
useEffect(() => {
        const interval = setInterval(() => {
            setTime(new Date());
        }, 1000);
        return () => clearInterval(interval);
    }, [time]);

        <p className='m-5'>The current time is:{time.toLocaleTimeString('en-US')}</p>;

时间不断变化,这就是为什么time处于useEffect依赖... 当在一秒内调用setinterval时,必须明确old-one

© www.soinside.com 2019 - 2024. All rights reserved.