【问题标题】:How do i cache api in reactjs Progressive Web App(Pwa) to add Offline support?如何在 reactjs Progressive Web App(Pwa) 中缓存 api 以添加离线支持?
【发布时间】:2019-11-04 04:49:12
【问题描述】:

我已经通过添加 serviceWorker.register(); 注册了我的服务工作者。在我的代码中。在 create-react-app Api 结果未缓存。我们如何缓存 Api 结果以便我们可以改进离线支持。

【问题讨论】:

  • 你是使用 redux 还是 mobx 或者 apollo 或者其他的东西来管理你的应用状态?
  • 我使用 Redux 进行状态管理。

标签: reactjs service-worker create-react-app progressive-web-apps


【解决方案1】:

您可以缓存网络响应,并可以通过它提供服务,如下所示

window.addEventListener('fetch', function(event) {
  event.respondWith(
    caches.open('your-app').then(function(cache) {
      return cache.match(event.request).then(function (response) {
        return response || fetch(event.request).then(function(response) {
          cache.put(event.request, response.clone());
          return response;
        });
      });
    })
  );
});

resource

【讨论】:

  • 只是一个注释,这是一个非常简单的最小示例。对于真正的生产应用程序,您将需要一个更复杂的解决方案来管理用于不同资源、数据的策略,包括缓存资产如何失效等。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-02-14
  • 2022-08-24
  • 1970-01-01
  • 2018-01-25
  • 2017-06-28
相关资源
最近更新 更多