我想生成一个AsyncNotifier
,它在构建时使用一个参数:
@riverpod
class ListController extends _$ListController {
late ServiceOne _serviceOne;
late ServiceTwo _serviceTwo;
@override
Future<List<ItemModel>> build(ListModel List) {
_serviceOne = ref.read(serviceOneServiceProvider);
_serviceTwo = ref.read(serviceTwoServiceProvider);
return _fetchListItems(list);
}
/// A method I´d like to call
Future<void> someMethod() async {
// ... some state mutation operations here...
}
///
Future<List<ItemModel> _fetchListItems(list) async {
// ... fetch models here from e.g. an API
}
}
这里的问题是,生成器创建了一个ListControllerFamily
提供程序,而不是AsyncNotifier
.So I'm unable to access the methods like this:
ref.read(listControllerProvider.notifier).someMethod();
.notifier
Getter不可用.对于另一个类,我有完全相同的设置,但没有参数,在那里它可以按预期工作.