setState method

  1. @nonVirtual
  2. @protected
void setState(
  1. VoidCallback callable
)

Notify the framework that the internal state of this widget has changed.

Implementation

@nonVirtual
@protected
void setState(VoidCallback callable) {
  var element = _element!;
  var scheduler = element.frameworkServices.scheduler;

  scheduler.addTask(
    StimulateListenerTask(
      beforeTaskCallback: () {
        callable();
      },
      afterTaskCallback: () {
        // this is wrapped in a another task to defer the call to build().
        scheduler.addTask(
          WidgetsUpdateTask(
            parentRenderElement: element,
            updateType: UpdateType.setState,
            widgets: [build(element)],
          ),
        );
      },
    ),
  );
}