build method
Builds and returns the BloomNode descriptor tree for this route match.
If the matched route defines a BloomRoute.loader, this method returns a Suspense node wrapping the loader resource, rendering BloomRoute.loadingFallback while pending and BloomRoute.dataBuilder once resolved.
Implementation
BloomNode build() {
if (_buildNode != null) return _buildNode();
final loader = route.loader;
if (loader != null) {
return Suspense<dynamic>(
resource: () => loader(params),
builder: (data) {
if (route.dataBuilder != null) return route.dataBuilder!(params, data);
if (route.builder != null) return route.builder!(params);
return const FragmentNode([]);
},
fallback: route.loadingFallback?.call() ?? const FragmentNode([]),
);
}
if (route.builder != null) return route.builder!(params);
return const FragmentNode([]);
}