今天我想知道为什么在将这些代码定义到项目中后我不能context.read
在里面使用:HookWidget
class FavoriteAddressBottomSheet extends HookWidget {
@override
Widget build(BuildContext context) {
return Container(
child: Material(
color: Colors.transparent,
child: Container(
...
child: Column(
children: [
ValueListenableBuilder(
valueListenable: _address.listenable(),
builder: (BuildContext context, Box address, __) {
return Expanded(
child: ListView.builder(
padding: EdgeInsets.zero,
itemBuilder: (context, index) {
return GestureDetector(
onTap: ()=> context.read(orderStateNotifierProvider.notifier).updateAddress(),
child: Container(
...
);
},
itemCount: _address.length,
),
);
}),
],
),
),
),
),
);
}
}
my orderStateNotifierProvider
andupdateAddress
是正确的,因为我在项目中使用了更多它们,但是当我尝试在ListView
其中ListView
使用时,ValueListenableBuilder
我得到了这个错误:
The method 'read' isn't defined for the type 'BuildContext'.