didDetachRenderer method
Implementation
@override
void didDetachRenderer([flutter.RenderObjectElement? flutterWidgetElement]) {
super.didDetachRenderer(flutterWidgetElement);
// Keep the renderStyle → renderObject pairing alive during `willDetachRenderer`
// because Flutter may still hit-test/paint the render tree until `unmount()`
// completes. Removing the pairing too early can make renderStyle APIs (e.g.
// `effectiveTransformMatrix`) think there's no render box and assert.
renderStyle.removeRenderObject(flutterWidgetElement);
if (!renderStyle.hasRenderBox()) {
// Cancel running transition.
renderStyle.cancelRunningTransition();
// Cancel running animation.
renderStyle.cancelRunningAnimation();
ownerView.window.unwatchViewportSizeChangeForElement(this);
}
}