重新打开 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()
,因此组件状态发生变化,导致它使用新日期重新呈现。
我不确定这个问题能否得到笼统的回答。我想在我的 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()
,因此组件状态发生变化,导致它使用新日期重新呈现。