如何修复 Flutter “The following StackOverflowError was thrown building” 错误?

How to fix Flutter "The following StackOverflowError was thrown building" error?

提问人:Gurkan T 提问时间:11/2/2023 更新时间:11/2/2023 访问量:35

问:

当 Flutter 应用程序启动时,屏幕上会抛出一个 Stack Overflow 错误。

main.dart MultiBlocProvider 中定义了 143 个提供程序。当我减少这些定义时,应用程序可以工作。是否有提供商限制?所有上下文都是不同的。

BasketListCubit 引发一个它不是创建的错误。当我删除 BasketListCubit 时,它会将下一行作为错误抛出。

注意:我们仅在iOS模拟器上收到此错误。Android上没有错误。在不同的仿真器和不同的计算机上会出现相同的错误。

sdk:“>=3.0.6”

flutter_bloc: ^8.1.3

flutter: ══╡ EXCEPTION CAUGHT BY WIDGETS LIBRARY ╞═══════════════════════════════════════════════════════════
flutter: The following StackOverflowError was thrown building
flutter: _InheritedProviderScope<BasketListCubit?>(value: <not yet loaded>):
flutter: Stack Overflow
flutter:
flutter: The relevant error-causing widget was:
flutter:   _InheritedProviderScope<BasketListCubit?>
flutter:   _InheritedProviderScope:file:///Users/username/.pub-cache/hosted/pub.dev/provider-6.0.5/lib/src/inherited_provider.dart:161:12
flutter:
flutter: When the exception was thrown, this was the stack:
flutter: #0      MappedListIterable.elementAt (dart:_internal/iterable.dart:415:31)
flutter: #1      ListIterator.moveNext (dart:_internal/iterable.dart:344:26)
flutter: #2      new _GrowableList._ofEfficientLengthIterable (dart:core-patch/growable_array.dart:189:27)
flutter: #3      new _GrowableList.of (dart:core-patch/growable_array.dart:150:28)
flutter: #4      new List.of (dart:core-patch/array_patch.dart:47:28)
flutter: #5      ListIterable.toList (dart:_internal/iterable.dart:214:7)

main.dart

@override
  Widget build(BuildContext context) {
    return MultiBlocProvider(
      providers: [
        BlocProvider(create: (cardListContext) => CardListCubit(projectManager!)),
        BlocProvider(create: (cardFilterContext) => CardFilterCubit(projectManager!)),
        BlocProvider(create: (taskListContext) => TaskListCubit(projectManager!)),
        BlocProvider(create: (basketListContext) => BasketListCubit(invitationManager!)),
        // 139 more
      ],
      child: MaterialApp(
        debugShowCheckedModeBanner: false,
        onGenerateRoute: appRouter?.onGenerateRoute,
      ),
    );
  }
颤振 飞镖 flutter-bloc

评论

0赞 Cabdirashiid 11/3/2023
你能发布MRE吗?
0赞 Gurkan T 11/3/2023
@Cabdirashiid 什么是MRE?
0赞 Cabdirashiid 11/3/2023
最小可重复示例

答: 暂无答案