【问题标题】:how to use document.querySelector().innerHTML in react如何在反应中使用 document.querySelector().innerHTML
【发布时间】:2019-06-21 18:17:15
【问题描述】:

我正在尝试显示当前时间,但不知道如何完成。

function timer()
{
  let today = new Date(),
    hours = today.getHours(),
    minutes = today.getMinutes(),
    seconds = today.getSeconds();
    console.log(hours+'/'+minutes+'/'+seconds)


  setTimeout(timer,1000)
}


function App() {
  return (
    <div >

      <h1>Timer</h1>
      <h1 id='time'>Time : {timer()}</h1>
    </div>
  );
}

我希望输出为 Time : 12/5/12(即当前时间)

【问题讨论】:

标签: reactjs


【解决方案1】:

不要直接修改DOM你使用你的组件的返回来渲染和修改HTML

首先,您需要使用useStatetime 保存在组件state 中。

其次,您需要使用 useEffect 获取组件挂载的时间

然后将保存在组件state中的time渲染到DOM

function App() {
  const [time, setTime] = useState(null);

  useEffect(() => {
    let today = new Date(),
      hours = today.getHours(),
      minutes = today.getMinutes(),
      seconds = today.getSeconds();

    const now = hours + "/" + minutes + "/" + seconds;
    console.log(now);

    setTime(now);
  }, []);

  return (
    <div>
      <h1>Timer</h1>
      {time && <h1 id="time">Time : {time}</h1>}
    </div>
  );
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-01-19
    • 2022-11-20
    • 2020-03-30
    • 1970-01-01
    • 2023-01-18
    • 2015-03-27
    • 2023-03-26
    相关资源
    最近更新 更多