在 FLUX 应用程序中,通过诸如初始化之类的操作将给定的数据集填充到存储中。如果出现以下情况怎么办:
- 商店应该增量初始化。(一次添加一个用户)。
- 如果用户已经在商店中,除非已经有一段时间,否则不要再次获取用户。
在不同的动作创建者中发出 HTTP 请求似乎最终会收到比您想要的更多的请求。您需要两级缓存吗?一个在动作 HTTP API 层(动作创建者)和一个在商店?这似乎不是多余的吗?
在 FLUX 应用程序中,通过诸如初始化之类的操作将给定的数据集填充到存储中。如果出现以下情况怎么办:
在不同的动作创建者中发出 HTTP 请求似乎最终会收到比您想要的更多的请求。您需要两级缓存吗?一个在动作 HTTP API 层(动作创建者)和一个在商店?这似乎不是多余的吗?
我会将所有这些逻辑保留在商店中。关键是为获取、接收和错误设置单独的操作创建者。
如果在响应返回之前有可能执行多个 fetch 操作,您可以像 Micah 一样将占位符推送到缓存中。
我们一直在处理商店中的缓存和延迟加载。userStore.getUser 如果可用则返回缓存的用户,否则直接调用 api 或调用 action creator 来发出 api 请求
我们尚未决定的一件事是跟踪这些待处理请求的正确方法。现在我们只是在 store 中创建一个占位符对象,然后在我们收到数据后填充它,但是我们无法轻松查看给定对象的请求是挂起还是完成