在我的Flutter应用程序中,我必须在推送通知到达后立即更新提供商的状态保留,以便可以重建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类没有上下文,因此我无法提出实现目标的方法。
答案 0 :(得分:1)
请检查Riverpod,它基本上是提供程序,没有限制。 Riverpod与Provider非常相似,并且由同一位作者Remi Rousselet创建。
根据作者:
Riverpod 项目可以被视为提供者的重写,以进行本来不可能的改进。
Riverpod的官方网站:https://riverpod.dev/
Pub.dev上的Riverpod:https://pub.dev/packages/riverpod