从React上下文中获取更新的价值

发布于 2025-01-22 02:50:29 字数 157 浏览 0 评论 0原文

我有一个使用全局时间值的应用程序。所有组件都需要使用相同的时间值。 我已经将此时间值(名为System_time)放在上下文中,并希望所有组件能够从上下文中获取最新的System_Time。 我如何确保每秒更新context.system_time,并且在需要时可以使用更新的System_Time?

I have an app which uses a global Time Value. All components need to use the same time value.
I have put this time value, named system_time, in context and want all components to be able to get the latest system_time from context.
How can I ensure that the context.system_time is updated every second and the updated system_time is available to all components whenever required?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

秋日私语 2025-01-29 02:50:29

使用usestate使用的混合物。使用setInterval更新状态,您将将其设置为1000毫秒。然后,只需确保在卸载时清除间隔即可。

您可能会使用类似的东西:

import React, { useState, useEffect } from 'react'

const App = () => {
  const [date, setDate] = useState()


  useEffect(() => {
    let interval = setInterval(() => setDate(Date.now()), 1000);
    
   //clear on unmount    
    return () => {
      clearInterval(interval)
    }
  })

  return (
    <div>
      {date}
    </div>
  )
}

export default App

当然,您的退货看起来会有所不同。但是我只是用它来证明它每秒都会更新。

然后,只需将您的状态传递到组件即可。

Use a mixture of useState and useEffect. Update state with setInterval, which you will set to 1000 milliseconds. Then, just make sure you clear the interval when you unmount.

You might use something similar to this:

import React, { useState, useEffect } from 'react'

const App = () => {
  const [date, setDate] = useState()


  useEffect(() => {
    let interval = setInterval(() => setDate(Date.now()), 1000);
    
   //clear on unmount    
    return () => {
      clearInterval(interval)
    }
  })

  return (
    <div>
      {date}
    </div>
  )
}

export default App

Your return will look different, of course. But I just used that to demonstrate that it updates every second.

Then, just pass your state to your components.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文