muy buena la explicacion de la profe, realice todo el proceso del provider me funciono bien, me trae los datos perfectos de la api, pero me aparece este error: ======== Exception caught by foundation library ====================================================
The following assertion was thrown while dispatching notifications for RecipeProvider:
setState() or markNeedsBuild() called during build.
This _InheritedProviderScope<RecipeProvider?> widget cannot be marked as needing to build because the framework is already in the process of building widgets. A widget can be marked as needing to be built during the build phase only if one of its ancestors is currently building. This exception is allowed because the framework builds parent widgets before children, which means a dirty descendant will always be built. Otherwise, the framework might not visit this widget during this build phase.
The widget on which setState() or markNeedsBuild() was called was: _InheritedProviderScope<RecipeProvider?>
value: Instance of 'RecipeProvider'
listening to value
The widget which was currently being built when the offending call was made was: HomeScreen
dirty
When the exception was thrown, this was the stack:
#0 Element.markNeedsBuild.<anonymous closure> (package:flutter/src/widgets/framework.dart:5177:9)
#1 Element.markNeedsBuild (package:flutter/src/widgets/framework.dart:5189:6)
#2 _InheritedProviderScopeElement.markNeedsNotifyDependents (package:provider/src/inherited_provider.dart:590:5)
#3 ChangeNotifier.notifyListeners (package:flutter/src/foundation/change_notifier.dart:437:24)
#4 RecipeProvider.FetchRecipes (package:recipe_book/providers/recipe_provider.dart:15:7)
#5 HomeScreen.build (package:recipe_book/screens/home_screen.dart:14:21)
#6 StatelessElement.build (package:flutter/src/widgets/framework.dart:5687:49)
#7 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5617:15)
#8 Element.rebuild (package:flutter/src/widgets/framework.dart:5333:7)
#9 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:5599:5)
#10 ComponentElement.mount (package:flutter/src/widgets/framework.dart:5593:5)
... Normal element mounting (47 frames)
#57 Element.inflateWidget (package:flutter/src/widgets/framework.dart:4468:16)
#58 Element.updateChild (package:flutter/src/widgets/framework.dart:3963:18)
#59 SliverMultiBoxAdaptorElement.updateChild (package:flutter/src/widgets/sliver.dart:967:37)
#60 SliverMultiBoxAdaptorElement.createChild.<anonymous closure> (package:flutter/src/widgets/sliver.dart:952:20)
#61 BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:3038:19)
#62 SliverMultiBoxAdaptorElement.createChild (package:flutter/src/widgets/sliver.dart:944:12)
#63 RenderSliverMultiBoxAdaptor._createOrObtainChild.<anonymous closure> (package:flutter/src/rendering/sliver_multi_box_adaptor.dart:361:23)
#64 RenderObject.invokeLayoutCallback.<anonymous closure> (package:flutter/src/rendering/object.dart:2719:59)
#65 PipelineOwner._enableMutationsToDirtySubtrees (package:flutter/src/rendering/object.dart:1098:15)
#66 RenderObject.invokeLayoutCallback (package:flutter/src/rendering/object.dart:2719:14)
#67 RenderSliverMultiBoxAdaptor._createOrObtainChild (package:flutter/src/rendering/sliver_multi_box_adaptor.dart:350:5)
#68 RenderSliverMultiBoxAdaptor.addInitialChild (package:flutter/src/rendering/sliver_multi_box_adaptor.dart:436:5)
#69 RenderSliverFixedExtentBoxAdaptor.performLayout (package:flutter/src/rendering/sliver_fixed_extent_list.dart:315:12)
#70 RenderObject.layout (package:flutter/src/rendering/object.dart:2608:7)
#71 RenderSliverEdgeInsetsPadding.performLayout (package:flutter/src/rendering/sliver_padding.dart:121:12)
#72 _RenderSliverFractionalPadding.performLayout (package:flutter/src/widgets/sliver_fill.dart:158:11)
#73 RenderObject.layout (package:flutter/src/rendering/object.dart:2608:7)
#74 RenderViewportBase.layoutChildSequence (package:flutter/src/rendering/viewport.dart:601:13)
#75 RenderViewport._attemptLayout (package:flutter/src/rendering/viewport.dart:1516:12)
#76 RenderViewport.performLayout (package:flutter/src/rendering/viewport.dart:1427:20)
#77 RenderObject.layout (package:flutter/src/rendering/object.dart:2608:7)
#78 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:111:21)
#79 RenderObject.layout (package:flutter/src/rendering/object.dart:2608:7)
#80 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:111:21)
#81 RenderObject.layout (package:flutter/src/rendering/object.dart:2608:7)
#82 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:111:21)
#83 RenderObject.layout (package:flutter/src/rendering/object.dart:2608:7)
#84 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:111:21)
#85 RenderObject.layout (package:flutter/src/rendering/object.dart:2608:7)
#86 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:111:21)
#87 RenderObject.layout (package:flutter/src/rendering/object.dart:2608:7)
#88 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:111:21)
#89 RenderObject.layout (package:flutter/src/rendering/object.dart:2608:7)
#90 MultiChildLayoutDelegate.layoutChild (package:flutter/src/rendering/custom_layout.dart:173:12)
#91 _ScaffoldLayout.performLayout (package:flutter/src/material/scaffold.dart:1092:7)
#92 MultiChildLayoutDelegate._callPerformLayout (package:flutter/src/rendering/custom_layout.dart:237:7)
#93 RenderCustomMultiChildLayoutBox.performLayout (package:flutter/src/rendering/custom_layout.dart:404:14)
#94 RenderObject.layout (package:flutter/src/rendering/object.dart:2608:7)
#95 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:111:21)
#96 RenderObject.layout (package:flutter/src/rendering/object.dart:2608:7)
#97 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:111:21)
#98 _RenderCustomClip.performLayout (package:flutter/src/rendering/proxy_box.dart:1448:11)
#99 RenderObject.layout (package:flutter/src/rendering/object.dart:2608:7)
#100 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:111:21)
#101 RenderObject.layout (package:flutter/src/rendering/object.dart:2608:7)
#102 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:111:21)
#103 RenderObject.layout (package:flutter/src/rendering/object.dart:2608:7)
#104 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:111:21)
#105 RenderObject.layout (package:flutter/src/rendering/object.dart:2608:7)
#106 ChildLayoutHelper.layoutChild (package:flutter/src/rendering/layout_helper.dart:61:11)
#107 RenderStack._computeSize (package:flutter/src/rendering/stack.dart:595:43)
#108 RenderStack.performLayout (package:flutter/src/rendering/stack.dart:622:12)
#109 RenderObject.layout (package:flutter/src/rendering/object.dart:2608:7)
#110 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:111:21)
#111 RenderObject.layout (package:flutter/src/rendering/object.dart:2608:7)
#112 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:111:21)
#113 RenderObject.layout (package:flutter/src/rendering/object.dart:2608:7)
#114 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:111:21)
#115 RenderObject.layout (package:flutter/src/rendering/object.dart:2608:7)
#116 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:111:21)
#117 RenderObject.layout (package:flutter/src/rendering/object.dart:2608:7)
#118 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:111:21)
#119 RenderObject.layout (package:flutter/src/rendering/object.dart:2608:7)
#120 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:111:21)
#121 RenderOffstage.performLayout (package:flutter/src/rendering/proxy_box.dart:3728:13)
#122 RenderObject.layout (package:flutter/src/rendering/object.dart:2608:7)
#123 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:111:21)
#124 RenderObject.layout (package:flutter/src/rendering/object.dart:2608:7)
#125 _RenderTheaterMixin.layoutChild (package:flutter/src/widgets/overlay.dart:1002:13)
#126 _RenderTheater.performLayout (package:flutter/src/widgets/overlay.dart:1311:9)
#127 RenderObject.layout (package:flutter/src/rendering/object.dart:2608:7)
#128 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:111:21)
#129 RenderObject.layout (package:flutter/src/rendering/object.dart:2608:7)
#130 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:111:21)
#131 RenderObject.layout (package:flutter/src/rendering/object.dart:2608:7)
#132 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:111:21)
#133 RenderObject.layout (package:flutter/src/rendering/object.dart:2608:7)
#134 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:111:21)
#135 RenderCustomPaint.performLayout (package:flutter/src/rendering/custom_paint.dart:569:11)
#136 RenderObject.layout (package:flutter/src/rendering/object.dart:2608:7)
#137 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:111:21)
#138 RenderObject.layout (package:flutter/src/rendering/object.dart:2608:7)
#139 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:111:21)
#140 RenderObject.layout (package:flutter/src/rendering/object.dart:2608:7)
#141 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:111:21)
#142 RenderObject.layout (package:flutter/src/rendering/object.dart:2608:7)
#143 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:111:21)
#144 RenderObject.layout (package:flutter/src/rendering/object.dart:2608:7)
#145 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:111:21)
#146 RenderObject.layout (package:flutter/src/rendering/object.dart:2608:7)
#147 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:111:21)
#148 RenderObject.layout (package:flutter/src/rendering/object.dart:2608:7)
#149 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:111:21)
#150 RenderObject.layout (package:flutter/src/rendering/object.dart:2608:7)
#151 RenderView.performLayout (package:flutter/src/rendering/view.dart:281:14)
#152 RenderObject._layoutWithoutResize (package:flutter/src/rendering/object.dart:2446:7)
#153 PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:1052:18)
#154 PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:1065:15)
#155 RendererBinding.drawFrame (package:flutter/src/rendering/binding.dart:602:23)
#156 WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:1164:13)
#157 RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:468:5)
#158 SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1397:15)
#159 SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1318:9)
#160 SchedulerBinding.scheduleWarmUpFrame.<anonymous closure> (package:flutter/src/scheduler/binding.dart:1040:9)
#161 PlatformDispatcher.scheduleWarmUpFrame.<anonymous closure> (dart:ui/platform_dispatcher.dart:837:16)
#165 _RawReceivePort._handleMessage (dart:isolate-patch/isolate_patch.dart:184:12)
(elided 3 frames from class _Timer and dart:async-patch)
The RecipeProvider sending notification was: Instance of 'RecipeProvider'
===================================================================================, no se si alguno mas le paso ?