state_notifier内でLocatorMixin
をmixinして、Repositoryを使おうと思ったら、DependencyNotFoundException
が出てしまう。
原因はMultiProvider
にちゃんと定義していても順番が重要ということ(あたりまえだけど)
Repository
をState Notifier
より前に書かないといけない
以下のような感じ。
修正前
return MultiProvider(
providers: [
StateNotifierProvider<HogeNotifier, HogeState>(create: (context) => HogeNotifier()),
Provider<InterfaceHogeRepository>(create: (context) => InterfaceHogeRepository()),
],
);
修正後
return MultiProvider(
providers: [
StateNotifierProvider<HogeNotifier, HogeState>(create: (context) => HogeNotifier()),
Provider<InterfaceHogeRepository>(create: (context) => InterfaceHogeRepository()),
],
);