如何将参数传递给 Riverpod 中的 ChangeNotifierProvider?
how to pass a parameter to ChangeNotifierProvider in Riverpod?
所以我有这样愚蠢的例子
class UserProvider with ChangeNotifier {
bool isFemale;
UserProvider(this.isFemale);
}
// I am confused when creating this userProvider below
final userProvider = ChangeNotifierProvider.autoDispose.family<bool><UserProvider((ref, isFemale) {
return UserProvider(isFemale);
});
class MyPage extends ConsumerWidget {
@override
Widget build(context, watch) {
final provider = watch(userProvider(false)); // <--- need to pass a bool from here
return Container();
}
}
我需要将一个布尔值从 MyPage
小部件传递到我的 UserProvider
。但我很困惑如何构建它,因为我有这样的错误
我正在使用:flutter_riverpod:^0.14.0+3
您需要使您的类型参数与参数匹配。
首先,您指定要提供的 class,然后是您要传递的类型 family
。
final userProvider = ChangeNotifierProvider.autoDispose.family<UserProvider, bool>((ref, isFemale) {
return UserProvider(isFemale);
});
所以我有这样愚蠢的例子
class UserProvider with ChangeNotifier {
bool isFemale;
UserProvider(this.isFemale);
}
// I am confused when creating this userProvider below
final userProvider = ChangeNotifierProvider.autoDispose.family<bool><UserProvider((ref, isFemale) {
return UserProvider(isFemale);
});
class MyPage extends ConsumerWidget {
@override
Widget build(context, watch) {
final provider = watch(userProvider(false)); // <--- need to pass a bool from here
return Container();
}
}
我需要将一个布尔值从 MyPage
小部件传递到我的 UserProvider
。但我很困惑如何构建它,因为我有这样的错误
我正在使用:flutter_riverpod:^0.14.0+3
您需要使您的类型参数与参数匹配。
首先,您指定要提供的 class,然后是您要传递的类型 family
。
final userProvider = ChangeNotifierProvider.autoDispose.family<UserProvider, bool>((ref, isFemale) {
return UserProvider(isFemale);
});