Ввести в службу в ProxyProvider
Я хочу использовать ProxyProvider
в моем проекте flutter, но понятия не имею, как правильно его реализовать.
main.dart
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MultiProvider(
child: MaterialApp(
title: 'Sample',
theme: ThemeData(
accentIconTheme: IconThemeData.fallback().copyWith(
color: Colors.white,
),
primaryTextTheme: TextTheme(
title: TextStyle(
color: Colors.white,
),
),
primarySwatch: Colors.orange,
primaryIconTheme: IconThemeData.fallback().copyWith(
color: Colors.white,
),
),
home: AuthenticationPage(),
localizationsDelegates: [
const LocalizationDelegate(),
GlobalMaterialLocalizations.delegate,
GlobalWidgetsLocalizations.delegate
],
supportedLocales: [
const Locale('en', ''),
const Locale('zh', ''),
],
),
providers: globalProviders,
);
}
}
globalProviders.dart
var globalProviders = [
...independentServices,
...dependentServices,
];
var independentServices = [
Provider<WebService>(
create: (_) => WebService.create(),
dispose: (_, webService) => webService.client.dispose(),
),
];
var dependentServices = [
ProxyProvider<WebService, ABCStore>(
update: (context, webService, storageService) =>
ABCStore(webService,storageService)) // here the error
];
ABCStore
class ABCStore = _ABCStore with _$ABCStore;
abstract class ABCStore with Store {
final WebService _webService;
final StorageService _storageService;
_ABCStore(this._webService,this._storageService);
....
@computed
StoreState get state {
....
}
@action
...
}
}
Я создаю свое приложение с использованием архитектуры mobx. я используюchopper
как веб-сервис, и hive
как складские услуги.
У меня вопрос, как мне ввести storageService
в ABCStore, как webService
сделал?
ошибка
The argument type 'ABCStore' can't be assigned to the parameter type 'StorageService',