redux 如何安排RTK缓存失效?

6kkfgxo0  于 2023-11-19  发布在  其他
关注(0)|答案(1)|浏览(105)

我需要在应用程序启动时检查保存状态(localstorage)中的一些日期,然后如果它处于过去-重置整个状态。如果它仍然处于未来,请稍后检查并重复。有时没有日期,日期会在某些操作后出现。
有三种情况需要重置状态(或计划下一次检查):
1.应用程序启动(有时我们已经选择了日期,有时没有)
1.应用程序保持打开(或在未来再次打开,我们需要检查日期,并重置或安排日期检查)
1.选择日期的操作(我们需要在此之后安排日期检查)
我想有它在某种中间件,或在商店/API端点配置。不要传播这个逻辑到几个地方,有3个检查和超时设置。
在哪里添加它?是否有某种动态缓存失效或现有的功能来添加类似的功能?

jgwigjjp

jgwigjjp1#

到目前为止,我的解决方案是把预定的检查应用程序的根元素。但我希望看到的解决方案在Redux/RTK库的水平,而不是这种粗糙的。

useEffect(() => {
    // other app start logic here

    dispatch(checkSelectedDate())
    setInterval(() => {
      dispatch(checkSelectedDate())
    }, DATE_SELECTION_CHECK_TEMEOUT)
  }, [])

字符串

checkSelectedDate(state) {
  if (state.date && isPast(state.date)) return cleanState
  return state
}


如果你有更好的/强大的解决方案,请作为答案发布。

相关问题