RockitoBuilder<T extends OkitoController> function
Widget
RockitoBuilder<T extends OkitoController>({
- required ControllerCallback<
T> builder, - T? inject,
- bool watchAllStorageKeys = false,
- List<
String> watchStorageKeys = const [], - List<
OkitoController> otherControllers = const [], - FilterCallback<
T> ? filter,
The RockitoBuilder and other Rockitos are the way to use builders
with Okito.inject()
.
// Usage is very simple as usual.
RockitoBuilder<CounterController>(
builder: (controller) => Text('${controller.count}'),
);
// If you didn't inject controller yet;
RockitoBuilder<CounterController>(
inject: CounterController(), // Required only one and first time
builder: (controller) => Text('${controller.count}'),
);
Implementation
// ignore: non_constant_identifier_names
Widget RockitoBuilder<T extends OkitoController>({
required ControllerCallback<T> builder,
T? inject,
bool watchAllStorageKeys = false,
List<String> watchStorageKeys = const [],
List<OkitoController> otherControllers = const [],
FilterCallback<T>? filter,
}) {
if (inject != null) Okito.inject(inject);
final controller = Okito.use<T>();
return OkitoBuilder(
controller: controller,
watchAllStorageKeys: watchAllStorageKeys,
watchStorageKeys: watchStorageKeys,
otherControllers: otherControllers,
filter: filter,
builder: () => builder(controller),
);
}