【发布时间】:2021-07-04 01:49:07
【问题描述】:
我使用Provider 作为我的颤振应用程序的状态管理工具。这是我的提供程序配置。
runApp(MultiProvider(providers: [ ChangeNotifierProvider(
create: (_) => AuthenticationProvider(
AuthenticationService(AuthenticationApi.development()),
),
),
ChangeNotifierProxyProvider<AuthenticationProvider, TransactionProvider?>(
create: null,
update: (context, authenticationProvider, transactionProvider) {
return TransactionProvider(
TransactionService(
TransactionApi.development(authenticationProvider.token),
),
);
},
)
], child: MyApp()));
但是当我使用 TransactionProvider 时,我得到了 provider not found 错误。这是我的构建方法。
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Test'),
),
body: Consumer<TransactionProvider>(
builder: (context, transactionProvider, child) {
return Center(
child: Text('Home'),
);
}));
}
这是错误信息。
Error: Could not find the correct Provider<TransactionProvider> above this Consumer<TransactionProvider> Widget
我们的目标是只有在通过AuthenticationProvider 验证成功后才能初始化TransactionProvider。我在这里做错了什么?
【问题讨论】:
标签: flutter dart mobile-application flutter-provider