buildWithChild method

  1. @override
Widget buildWithChild(
  1. BuildContext context,
  2. Widget? child
)
override

A build method that receives an extra child parameter.

This method may be called with a child different from the parameter passed to the constructor of SingleChildStatelessWidget. It may also be called again with a different child, without this widget being recreated.

Implementation

@override
Widget buildWithChild(BuildContext context, Widget? child) {
  return ViewModelBuilder<VM>(
    child: child,
    builder: (context, viewModel, child) {
      return ValueListenableBuilder<T>(
        valueListenable: valueListenable(viewModel),
        child: child,
        builder: (context, value, child) => builder(
          context,
          viewModel,
          value,
          child,
        ),
      );
    },
  );
}