ChangeNotifierProvider&&ChangeNotifierProvider.value
ChangeNotifierProvider&&ChangeNotifierProvider.value
我无法理解 ChangeNotifierProvider 和 ChangeNotifierProvider.value 之间的区别,
以及何时使用每种情况
ChangeNotifierProvider :-
class MyApp extends StatelessWidget {
// This widget is the root of your application.
@override
Widget build(BuildContext context) {
return ChangeNotifierProvider(
create: (context) => ProductsProvider(),
ChangeNotifierProvider.value :-
return GridView.builder(
padding: const EdgeInsets.all(10.0),
itemCount: products.length,
itemBuilder: (ctx, i) => ChangeNotifierProvider.value(
value: products[i],
ChangeNotifierProvider
将创建您提供的 class 的实例。
ChangeNotifierProvider.value
将提供一个预实例化对象
ChangeNotifierProvider:
它从您要使用数据的地方创建一些 class 的新实例
ChangeNotifierProvider.value
如果您已经有一个先前加载了一些数据的实例,并且您想要使用先前加载的数据,那么您需要使用 ChangeNotifierProvider.value
我无法理解 ChangeNotifierProvider 和 ChangeNotifierProvider.value 之间的区别, 以及何时使用每种情况 ChangeNotifierProvider :-
class MyApp extends StatelessWidget {
// This widget is the root of your application.
@override
Widget build(BuildContext context) {
return ChangeNotifierProvider(
create: (context) => ProductsProvider(),
ChangeNotifierProvider.value :-
return GridView.builder(
padding: const EdgeInsets.all(10.0),
itemCount: products.length,
itemBuilder: (ctx, i) => ChangeNotifierProvider.value(
value: products[i],
ChangeNotifierProvider
将创建您提供的 class 的实例。
ChangeNotifierProvider.value
将提供一个预实例化对象
ChangeNotifierProvider: 它从您要使用数据的地方创建一些 class 的新实例
ChangeNotifierProvider.value
如果您已经有一个先前加载了一些数据的实例,并且您想要使用先前加载的数据,那么您需要使用 ChangeNotifierProvider.value