为什么我不能使用Provider的任何扩展方法(context.select
,context.read
和context.listen
)?
我收到这样的静态错误。
class MyWidget extends StatelessWidget {
@override
Widget build(BuildContext context) {
// Following line causes the problem
var isFavorite = context.select<FavModel, bool>(
(fav) => fav.items.contains(item),
);
return OtherWidget(...);
}
}
最佳答案
context.select
,context.read
和context.listen
是Provider的extension methods。要使用它们,您应该导入Provider。
将此添加到文件顶部:
import 'package:provider/provider.dart';
默认情况下应自动导入。这是已知的issue。关于flutter - 没有为BuildContext定义context.select,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/64576652/