buildChild method
Implementation
RenderBox? buildChild(Object? slot) {
final element = this.element;
if (element == null) return null;
element.owner!.buildScope(element, () {
Widget newWidget;
try {
newWidget = itemBuilder(element, slot);
} catch (e) {
return;
}
final oldElement = elements[slot];
final oldWidget = widgets[slot];
if (oldElement == null) {
final newElement = element.inflateWidget(newWidget, slot);
elements[slot] = newElement;
widgets[slot] = newWidget;
} else if (oldWidget != null && Widget.canUpdate(oldWidget, newWidget)) {
oldElement.update(newWidget);
widgets[slot] = newWidget;
} else {
element.deactivateChild(oldElement);
final newElement = element.inflateWidget(newWidget, slot);
elements[slot] = newElement;
widgets[slot] = newWidget;
}
});
return elements[slot]?.renderObject as RenderBox?;
}