- override
Calls the build
method of the StatelessWidget object (for
stateless widgets) or the State object (for stateful widgets) and
then updates the widget tree.
Called automatically during mount to generate the first build, and by rebuild when the element needs updating.
Source
@override void performRebuild() { assert(() { if (debugProfileBuildsEnabled) Timeline.startSync('${widget.runtimeType}'); return true; }); assert(_debugSetAllowIgnoredCallsToMarkNeedsBuild(true)); Widget built; try { built = _builder(this); debugWidgetBuilderValue(widget, built); } catch (e, stack) { _debugReportException('building $this', e, stack); built = new ErrorWidget(e); } finally { // We delay marking the element as clean until after calling _builder so // that attempts to markNeedsBuild() during build() will be ignored. _dirty = false; assert(_debugSetAllowIgnoredCallsToMarkNeedsBuild(false)); } try { _child = updateChild(_child, built, slot); assert(_child != null); } catch (e, stack) { _debugReportException('building $this', e, stack); built = new ErrorWidget(e); _child = updateChild(null, built, slot); } assert(() { if (debugProfileBuildsEnabled) Timeline.finishSync(); return true; }); }