重新打开 React Native App 时更新 moment.js

Update moment.js when React Native App is reopened

我不确定这个问题能否得到笼统的回答。我想在我的 React Native 应用程序返回前台时更新 moment's current date

目前,当我打开应用程序并在一天后重新打开它而不关闭它时,时刻不会更新。所以现在的日期还是定在昨天。

我已经知道我可以获得这样的应用程序状态:https://reactnative.dev/docs/appstate。 但我仍然不知道如何更新时刻,以便在第二天重新打开应用程序时我的所有日​​期都正确无误。

一个可能的解决方案是重新加载应用程序,但我希望有另一种方法。 感谢您的帮助!

我刚刚使用 AppState 进行了尝试,它按预期工作。这是一个快速代码片段。

const [currentDate, setCurrentDate] = useState(new Date())

useEffect(() => {
    const subscription = AppState.addEventListener("change", (nextAppState) => {
       if (nextAppState === "active") {
          setCurrentDate(new Date())
       }
    })
    return () => {
        subscription.remove()
    }
}, [setCurrentDate])

每次从后台重新打开应用程序时 currentDate 设置为 new Date(),因此组件状态发生变化,导致它使用新日期重新呈现。