performRebuild method

  1. @override
void performRebuild()
override

Calls the StatelessWidget.build method of the StatelessWidget object (for stateless widgets) or the State.build method of 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.

Implementation

@override
void performRebuild() {
  _ensureRef();

  // 今回のbuildで参照された provider を計測するためリセット
  _watchedThisBuild.clear();

  // ← ここで「state.build(...)」は呼ばず、フレームワークに任せる
  super.performRebuild();

  // 今回のbuildで参照されなかった購読を解除
  final toRemove = _cancels.keys
      .where((k) => !_watchedThisBuild.contains(k))
      .toList();
  for (final k in toRemove) {
    _cancels.remove(k)?.close();
  }
}