无法在React脚本中注册Service Worker

时间:2019-07-09 14:17:38

标签: reactjs service-worker

我正在用ReactJS制作一个基本的Web应用程序来创建推送通知。 我想让用户可以通过单击按钮来手动注册服务工作者。但是什么也没发生(控制台中没有成功的消息)。我在某个地方犯了错误吗?

在标准js文件中,用于注册Service Worker的代码有效(尽管没有按钮),但在react文件中却无效。

注册服务人员的代码: enter image description here

以及按钮上的事件监听器: enter image description here

谢谢!

1 个答案:

答案 0 :(得分:1)

我看到的主要问题是将EventListener附加到SELECT *, date_part('month', terminated_datetime) FROM employees WHERE date_part('month', terminated_datetime) = 12; 上,该监听器将在“加载”时执行。由于您可以单击按钮,因此很可能已经触发了此事件,因此未加载软件。 尝试删除事件处理程序部分以直接调用register函数。 然后看起来像这样:

window

我看到的另一个问题是您尝试通过直接分配状态来设置状态。在做出反应时,您不应访问那样的状态,而应这样调用function registerSW() { if ('serviceWorker' in navigator) { navigator.serviceWorker.register('sw.js') //... } }

this.setState