Reactjs 是否可以在自定义服务人员和React组件之间传递数据?

Reactjs 是否可以在自定义服务人员和React组件之间传递数据?,reactjs,service-worker,Reactjs,Service Worker,我有一个CreateReact应用程序,我在公用文件夹中创建了一个自定义服务人员。在src中,我有默认的serviceWorker.js文件。在自定义service worker文件的公用文件夹中,我添加了一个推送事件侦听器,如下所示: self.addEventListener("push", function (event) { const someData= event.data.text(); const title = "Test"; const options = {

我有一个CreateReact应用程序,我在公用文件夹中创建了一个自定义服务人员。在src中,我有默认的serviceWorker.js文件。在自定义service worker文件的公用文件夹中,我添加了一个推送事件侦听器,如下所示:

 self.addEventListener("push", function (event) {

  const someData= event.data.text();
  const title = "Test";
  const options = {
    body: someData,
    icon: "./someIcon.png",
    badge: "./someIcon.png",
  };
    event.waitUntil(self.registration.showNotification(title, options));
});
问题是,在显示此通知之前,我需要对从事件接收到的数据应用一些转换,为此,我需要在某个react组件中使用此数据,在那里执行转换,然后执行以下操作:
event.waitill(self.registration.showNotification(title,options))

将转换应用于我的数据,以便用户最终以通知的形式获取该数据。有可能实现这样的功能吗?

实际上不可能实现,因为在调用
推送
事件处理程序时,您无法知道是否会为您的源站打开一个网页。从推送通知服务器接收到的
push
事件可能会在任何时间点唤醒您的服务人员,并且无法保证您的web应用也会打开

因此,我尽量不去实现使用
postMessage()
在服务人员和客户机页面(如果它是打开的)之间有条件地交谈的东西,因为这些代码只在某些时候起作用


相反,您应该实现所需的所有代码,以便在服务人员内部显示通知。

谢谢您的回答。我想我必须修改服务器端的数据,并发送已经修改过的数据,因为前端的工作方式不一样。