我正在尝试使用来自API的数据更新/刷新Redux状态时的最佳实践。
考虑这种情况:
您有一个“待办事项”应用程序,其中有许多用户可能在任何给定时间点更新与您相同的“待办事项”。显然,您希望本地Redux商店最终反映其他用户的这些更改。
你愿意吗
我现在不希望将更改推送到客户端,也不需要轮询API(嗯!)。我只是想对大多数开发人员何时刷新以Redux状态存储的API派生数据达成某种共识。
答案 0 :(得分:0)
如果您不想推送或轮询,则在用户请求时获取数据。从不提取可能非常适合边缘案例应用程序,但绝对不是常见的用例。
答案 1 :(得分:0)
这是我从你的问题中得到的
我现在不打算将更改推送给客户,也没有兴趣 轮询API(嗯!)。
我不明白这是干什么的。您可能没有在更新应用程序,但要查看应由一个或其他人更新您的应用程序的更改。
除此之外,我还告诉过您要在任何获取数据的地方订阅获取数据。我不知道您对订阅的理解,根据我的说法,订阅是为了定期进行获取以获取更新。订阅本质上是异步的。
我给出一个简单的实现订阅的例子。
console.log("Started");
let subscription = false;
const getData = () => {
// call your database and fetch the data and once
// fetching done call the getData again
// Think setTimeout as database call.
// upon resolving the data I called it again
// It neither stops other call back from running run
setTimeout(() => {
console.log("Fetching");
if(subscription) {
console.log("shuting");
return;
}
getData();
}, 1000);
}
getData();
setTimeout(() => {
console.log("hello");
}, 5000);
setTimeout(() => {
subscription = true;
}, 8000);