children method
Creates an inline reactive widget with isolated static children subtrees and fallback protection.
When _bloom contains valid data, invokes builder with BuildContext, data payload, and children.
When _bloom does not contain data (BloomState.hasData == false), returns SizedBox.shrink,
protecting against extraction exceptions during uninitialized states.
builder: Reactive builder callback receiving BuildContext, current data payload, and cachedchildren.children: The static subtrees to preserve across rebuilds.key: Optional widget key.
Requires:
buildermust be a pure widget construction callback.
Ensures:
- Returns a reactive Widget isolating
childrenfrom rebuilds.
Examples
menuBloom.build.children(
(context, menu, children) => Column(children: [Header(menu.title), ...children]),
children: const [HeavyChart(), HeavyFooter()],
);
Implementation
@pragma('vm:prefer-inline')
Widget children(
Widget Function(BuildContext context, T data, List<Widget> children)
builder, {
required List<Widget> children,
Key? key,
}) =>
_InlineSingleBloomWithChildrenWidget<T>(
key: key,
bloom: _bloom,
builder: builder,
children: children,
);