1

在我的 Flutter 应用程序中,我必须在推送通知到达后立即更新 Provider 的状态,以便可以重建 UI。PushNotifications 服务是一个类(不是小部件),如下所示:

class PushNotifications {
  ...

  Future<void> init() async {    
    _firebaseMessaging.configure(onMessage: (Map<String, dynamic> data) {
      // here I receive the data from the notification that I have to add to the provider

    });
  }
}

这是我的简单提供者:

class NewsProvider with ChangeNotifier {
  List<News> _news;
  get news => _news;

  NewsProvider();

  void addNews(News news) {
    _news.add(news);
    notifyListeners();
  }
}

由于 PushNotifications 类没有上下文,我无法想出如何实现这一点。

4

1 回答 1

3

请查看 Riverpod,它基本上是没有限制的提供者。Riverpod 与 Provider 非常相似,也是由同一作者 Remi Rousselet 创建的。

据作者说:

Riverpod项目可以被认为是对提供者的重写,以进行原本不可能的改进。

Riverpod官网:https ://riverpod.dev/

Pub.dev 上的 Riverpod:https ://pub.dev/packages/riverpod

于 2020-11-08T19:19:14.327 回答