Flutter提供程序依赖关系



如何根据另一个提供程序创建提供程序?

基本上,在我的用户登录后,主屏幕需要显示2个不同的信息:

  • 他的用户配置文件名称
  • 他本周的信息来自一个9周的节目

当前周位于他的用户配置文件中,因此在我可以使用currentWeekProvider之前,我首先需要这个。我们如何实现这种排序和依赖性?

我有两个供应商:

final userProfileProvider = FutureProvider<UserProfile>((ref) async {
final repository = ref.watch(hopeRepositoryProvider);
UserProfile user = await repository.getUserProfile();  
return user;

});
final programProvider = FutureProvider<HopeProgram>((ref) async {
final repository = ref.read(hopeRepositoryProvider);
final user = ref.watch(userProfileProvider);  
HopeProgram program = await repository.getCurrentWeekProgram(user.currentWeek); // does not work, the compile complain
return program;
});
``

感谢Remi,

这是关键:

final user = await ref.watch(userProfileProvider.future)

正确的语法是:

final programProvider = FutureProvider<HopeProgram>((ref) async {
final repository = ref.read(hopeRepositoryProvider);
final user = await ref.watch(userProfileProvider.future);  
HopeProgram program = await repository.getCurrentWeekProgram(user.currentWeek); // does not work, the compile complain
return program;
});

相关内容

  • 没有找到相关文章

最新更新