- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在 Redux Async例如,有一个名为 shouldFetch
的函数,它接受 (state, subreddit)
并返回您是否应该获取给定 subreddit
中的项目。
如何可靠地为单个项目做同样的事情?意思是一个接受 shouldFetch(state, subreddit, id)
并返回 Boolean
的函数。
真正的问题是如何保留获取每个项目时的元数据
?我们在 lastUpdated
中存储获取列表的时间,而不是每个项目上次更新的时间。
您将需要:1. 判断item在缓存(store)中是否为偶数2. 判断这个当前项当前是否正在被获取(或者通过列表获取,或者通过单独获取)3. 确定该项目是否过时。
除了为lastUpdated/isFetching构建客户端数据库之外,还有什么好的方法可以实现这一点吗?
最佳答案
How can you do the same thing reliably but for a single item? Meaning a function that takes shouldFetch(state, subreddit, id) and returns Boolean.
作为链接中的 shouldFetchPosts 函数,您必须创建自己的函数来检查某些元数据是否包含某些内容。这部分与 redux 无关,而是关于您的元数据、您如何在 redux 存储上调整数据,或者您需要的元数据是否在服务器响应中可用。
因此,您必须创建一个函数,该函数接受一些数据并检查给定数据中您在函数体中编写的逻辑。
The real issue is how do you keep the metadata of when each item was fetched? We are storing when the list was fetched in lastUpdated but not when each item was last updated.
您的意思是您正在更新列表项并且没有向服务器发出更新列表的请求吗?如果没有,如果您只是发送更新项目的请求,并且可能也在您的 redux 状态下更新项目,那么这听起来没问题。由于您的应用程序是 SPA ,如果您确定服务器上的数据已更改,您可以轻松更改 redux 状态,并且可能不会发出服务器请求。
You will need to: 1. Determine if item is even in the cache (store) 2. Determine whether this current item is currently being fetched (either through the list fetch, or through individual fetch) 3. Determine whether the item is stale or not.
现在这是我的想法,您实际上应该检查组件中的某些数据是否过时,如果正在提取某些数据,您不应该允许用户触发重新提取,如果某些数据还没有过时,您可以轻松地在组件中创建一个函数来决定是否需要用户触发的操作。
将所有这些逻辑移至 redux 操作会使您的 redux 文件变得丑陋。但是,您可以塑造您的 redux 状态,随时改进它,并检查状态中的一些元数据以做出决定。
关于javascript - 确定 Redux 中单个项目的本地缓存是否已过时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39570518/
我是非洲的一名学生,在我们的土地上,确实存在缓慢且昂贵的互联网连接,这就是为什么每当我们听到安装软件的“在线存储库”方法这个词时都会害怕得发抖。该死的,这通常意味着你必须去别处看看。 问题。(如果没有
我正在使用 OpenCV 1 进行一些图像处理,并且对 cvSetErrMode 函数(它是 CxCore 的一部分)感到困惑。 OpenCV 具有三种错误模式。 叶:调用错误处理程序后程序终止。 父
安装新版 IDEA.14 后,(maven)项目的部署显着增加(从 15 秒增加到 47 秒)。 最佳答案 原因: IDEA 使用 捆绑 Maven的版本 解决方案:设置 (ctrl+alt+S) -
在 .NET 中,您可以将某些方法标记为过时,以便开发人员在尝试使用已弃用的方法时收到警报。 Private Sub FormerMethod() 问题是您只能在您控制的类中执行此操作。当您希望开发
一段时间以来,我一直在尝试自己解决这个问题,但一直没有成功。当我大约有 10% 的时间重新部署我的 Rails 应用程序时,就会发生这种情况。其他 90% 的时间部署顺利进行。 我试了又试,还是没成功
已关闭。此问题需要 debugging details 。目前不接受答案。 编辑问题以包含 desired behavior, a specific problem or error, and the
我正在学习 HTTP/2 协议(protocol)。它是一个带有小消息帧的二进制协议(protocol)。它允许在单个 TCP 连接上进行流复用。从概念上讲,它似乎与 WebSockets 非常相似。
在 Matlabs 的最新版本中,specgram 函数被 spectrogram 取代,文档说明: Note. To obtain the same results for the removed
我们试图在构建时标记外部类型(如 ConfigurationManager)的使用。 自定义代码分析字典可以提供帮助 [1],但仅限于项目中包含源代码的情况。同样,Obsolete 属性适用于项目中包
我将 Anaconda 与 Python 3 结合使用,并尝试安装 cc 包,这是 uber h3 包的要求。 尝试通过以下方式在 anaconda 命令行中安装时: pip install cc 我
我在 Razor 中创建了一个专门用于显示货币的显示模板,现在我想在我的代码中删除它并替换为接受字符串格式(我可以将其设置为“C”)的标准文本显示模板。 然而,出现了很多次,所以我想使用类似 [Obs
我希望我的网站具有如下所示的 URL: example.com/2010/02/my-first-post 我有我的 Post带 slug 的模型字段('我的第一篇文章')和 published_on
4.7 并喜欢在 qgraphicsview 上叠加两个图像。顶部的图像应是半透明的,以便能够透过它看到。最初,两个图像都是完全不透明的。我期望存在一些为每个像素设置全局 alpha 值的函数,但似乎
总结: 我在我的 Swift 代码中犯了一个错误,我已经修复了它。然后我问自己为什么会这样,我该如何避免。我尝试了一些方法,但没有任何帮助。 我把错误和我的想法放在下面。我希望你能教我避免这种错误的正
我正在尝试重命名在 SVN 中跟踪的 Java 包。这一切似乎都有效。它将代码移动到新包等。然而,噩梦就在那时开始,乐趣就开始了,这取决于你的观点。摆脱旧包很难。 我陷入了“过时”或“不存在”消息的循
我们使用 NLog 或 Serilog 进行日志记录。我们正忙于将系统从 ASP.NET 移植到 ASP.NET Core,这 has logging built in . 理想情况下,我们希望放弃
ETag header 的定义 ( https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/ETag ): The ETag HTTP re
我是一名优秀的程序员,十分优秀!