Flutter 利用提供程序包在颤振中发生堆栈溢出错误?
在flatter中使用“provider”包进行状态管理时,我收到以下堆栈溢出错误。这里我使用的是main.dart文件中的ChangeNotifierProvider。这一错误的原因是什么?如何消除Flutter 利用提供程序包在颤振中发生堆栈溢出错误?,flutter,provider,flutter-provider,Flutter,Provider,Flutter Provider,在flatter中使用“provider”包进行状态管理时,我收到以下堆栈溢出错误。这里我使用的是main.dart文件中的ChangeNotifierProvider。这一错误的原因是什么?如何消除 I/flutter ( 7382): ══╡ EXCEPTION CAUGHT BY WIDGETS LIBRARY ╞═══════════════════════════════════════════════════════════ I/flutter ( 7382): The follow
I/flutter ( 7382): ══╡ EXCEPTION CAUGHT BY WIDGETS LIBRARY ╞═══════════════════════════════════════════════════════════
I/flutter ( 7382): The following StackOverflowError was thrown building ProductGrid(dirty, dependencies:
I/flutter ( 7382): [InheritedProvider<Products>]):
I/flutter ( 7382): Stack Overflow
I/flutter ( 7382):
I/flutter ( 7382): When the exception was thrown, this was the stack:
I/flutter ( 7382): #0 new _GrowableList (dart:core-patch/growable_array.dart:93:3)
I/flutter ( 7382): #1 new List._fromLiteral (dart:core-patch/array_patch.dart:71:18)
I/flutter ( 7382): #2 Products.items (package:meal_shop/providers/products.dart)
I/flutter ( 7382): #3 Products.items (package:meal_shop/providers/products.dart:42:17)
I/flutter ( 7382): #4 Products.items (package:meal_shop/providers/products.dart:42:17)
I/flutter ( 7382): #5 Products.items (package:meal_shop/providers/products.dart:42:17)
I/flutter ( 7382): #6 Products.items (package:meal_shop/providers/products.dart:42:17)
I/flutter ( 7382): #7 Products.items (package:meal_shop/providers/products.dart:42:17)
I/flutter ( 7382): #8 Products.items (package:meal_shop/providers/products.dart:42:17)
I/flutter ( 7382): #9 Products.items (package:meal_shop/providers/products.dart:42:17)
显示ProductGrid的代码和Products类的工作方式显示ProductGrid的代码和Products类的工作方式
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
import './screens/product_overview_screen.dart';
import './screens/product_detail_screen.dart';
import './providers/products.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return ChangeNotifierProvider(
create: (ctx)=>Products(),
child: MaterialApp(
title: 'Flutter Demo',
theme: ThemeData(
primarySwatch: Colors.purple,
accentColor: Colors.orange,
fontFamily: 'Lato'
),
home:ProductOverviewScreen(),
routes:{
ProductDetailScreen.routeName:(ctx)=>ProductDetailScreen(),
} ,
),
);
}
}