我正在尝试使用如下代码:
class MultiPageProvider extends StatefulWidget {
const MultiPageProvider({Key? key}) : super(key: key);
@override
_MultiPageProviderState createState() => _MultiPageProviderState();
}
class _MultiPageProviderState extends State<MultiPageProvider> {
@override
Widget build(BuildContext context) {
return ChangeNotifierProvider<UserModal>(
create: (context) => UserModal(),
child: Scaffold(
appBar: AppBar(
title: const Text(
"Using Provider",
),
),
body: Consumer<UserModal>(
builder: (context, modal, child) {
switch (modal.activeIndex) {
case 0:
return const BasicDetails();
case 1:
return const EducationDetails();
default:
return const BasicDetails();
}
},
),
),
);
}
}
但是只要我像下面这样使用
main.dart
函数内的所有提供者,我想知道如何将这个提供者添加到main.dart
像其他人一样?
类 MyApp 扩展 StatelessWidget { const MyApp({super.key});
@override
Widget build(BuildContext context) {
return MultiProvider(
providers: [
ChangeNotifierProvider.value(
value: Auth(),
),
ChangeNotifierProxyProvider<Auth, Books>(
create: (ctx) => Books('', []),
update: (ctx, auth, previousBooks) => Books(
auth.userId,
previousBooks == null ? [] : previousBooks.books,
),
),
],
};
}