build method
Subclasses should override this function to actually call the appropriate
build function (e.g., StatelessWidget.build or State.build) for
their widget.
Implementation
@override
Widget build() {
final signals = <core.ReadonlySignal>{};
final oldOnSignalRead = core.onSignalRead;
core.onSignalRead = (signal) {
if (signal is core.ReadonlySignal) {
signals.add(signal);
}
};
try {
return super.build();
} finally {
core.onSignalRead = oldOnSignalRead;
if (signals.isEmpty) {
for (final dispose in _watch.values) {
dispose();
}
_watch.clear();
} else {
_updateWatch(signals);
}
}
}