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) {
  assert(
    child != null,
    '$runtimeType used outside of MultiBlocProvider must specify a child',
  );
  final value = _value;
  return value != null
      ? InheritedProvider<T>.value(
          value: value,
          startListening: _startListening,
          lazy: lazy,
          child: child,
        )
      : InheritedProvider<T>(
          create: _create,
          dispose: (_, bloc) => bloc.close(),
          startListening: _startListening,
          lazy: lazy,
          child: child,
        );
}