如何在本地 React 中安排重复出现的 Web 通知?

How to schedule recurring web notification in React locally?

我正在尝试构建一个 React Web 应用程序,它可以每天在设定的时间通知用户,而无需连接到服务器。

例如: 用户设置 he/she 想在每天下午 5 点收到通知。然后,应用程序会以某种方式在本地设置此重复出现的 Web 通知。即使设备未连接到服务器,即使网络应用程序未打开,用户也会收到通知。

我是 React 开发的初学者。我读过这可能会以某种方式由服务工作者完成,但我还没有找到任何方法来在本地设置重复通知。

我尝试了 node-schedule or react-browser-notifications 等软件包,但我还没有找到将它们与 service worker 一起使用的方法。

所以我的问题如下:是否可以在本地设置定期网络通知?如果是这样,你会怎么做?

import React, { Component } from "react";

class NotificationScheduler extends Component {
  constructor() {
    super();
    this.state = {
      // information about the notification time...
    };

    this.setNotification = this.setNotification.bind(this);
  }

  setNotification = () => {
    // What should be here?
  };

  render() {
    return <Button onClick={this.setNotification}>{"Schedule notitication"}</Button>;
  }
}

显然无法在 浏览器 中本地执行此操作,因为浏览器不支持 service worker 中的时间触发器。

也就是说,这些通知触发器正在开发中,但我们不太可能很快看到它们。

您可以在此处阅读更多相关信息:https://web.dev/notification-triggers/

因此,如果您尝试创建类似常规通知的内容,则每次都必须从服务器发送推送通知。

如果有人有关于此主题的更新或不同信息,欢迎提供更多答案:)