如何将参数传递给 Riverpod 中的 ChangeNotifierProvider?

时间:2021-05-26 07:27:34

标签: flutter 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 。但我很困惑如何构建它,因为我有这样的错误

enter image description here

我正在使用:flutter_riverpod:^0.14.0+3

1 个答案:

答案 0 :(得分:0)

您需要使类型参数与参数匹配。

首先,指定提供的类,然后指定传递的类型 family

final userProvider = ChangeNotifierProvider.autoDispose.family<UserProvider, bool>((ref, isFemale) {
  return UserProvider(isFemale);
});