Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 如何更新服务人员';是否使用新的React/Redux页面创建缓存页面?_Reactjs_Webpack_Redux_Service Worker_Progressive Web Apps - Fatal编程技术网

Reactjs 如何更新服务人员';是否使用新的React/Redux页面创建缓存页面?

Reactjs 如何更新服务人员';是否使用新的React/Redux页面创建缓存页面?,reactjs,webpack,redux,service-worker,progressive-web-apps,Reactjs,Webpack,Redux,Service Worker,Progressive Web Apps,我正在创建一个完全可以脱机使用的网站(PWA)。为了演示的目的,比如说,我正在开发 当我离线时,我对Redux状态做了一些更改(添加一个新的注释),我希望在重新加载页面后新的注释会出现在那里 问题是,服务工作者返回缓存的原始响应(它是如何在服务器上生成的),其中不包含新添加的注释 问题:如何使用新的Redux状态更新Service Worker,使其在脱机时重新加载页面后显示新添加的注释 Devstack:网页包装、反应、重复。 我正在使用生成服务人员 条件:由于SEO的原因,我希望继续使用服务

我正在创建一个完全可以脱机使用的网站(PWA)。为了演示的目的,比如说,我正在开发

当我离线时,我对Redux状态做了一些更改(添加一个新的注释),我希望在重新加载页面后新的注释会出现在那里

问题是,服务工作者返回缓存的原始响应(它是如何在服务器上生成的),其中不包含新添加的注释

问题:如何使用新的Redux状态更新Service Worker,使其在脱机时重新加载页面后显示新添加的注释

Devstack:网页包装、反应、重复。 我正在使用生成服务人员


条件:由于SEO的原因,我希望继续使用服务器呈现内容,因此我不会仅仅从服务器返回。

如果您仍然希望完全脱机服务器呈现,我的建议如下:

  • 步骤1:您应该使用
    localStorage
    或类似工具在客户端存储所有笔记
  • 步骤2:无论何时创建新便笺,都应将其添加到
    本地存储中
  • 步骤3:当应用程序呈现时,您从
    localStorage
    读取所有注释,然后重新呈现到UI。然后向服务器发送一个额外的请求,以获取您新添加的注释(可能来自设备)。将它们显示到UI并将所有这些新注释保存到
    localStorage
这样,在第一次访问时,您就可以从服务器端渲染中获益。然后,您的页面将被缓存(直到出现新的应用程序版本)

在重复访问时,服务人员会从第一次访问返回您的页面(带有旧注释),但您的应用程序逻辑会检查
localStorage
中的数据,并呈现这些数据,以使页面最新

从其他设备同步笔记将有延迟时间,因为我们必须发送一个额外的请求。但我认为这是值得的