I have the following code that passes a bloc to the next page
Navigator.of(context).push( MaterialPageRoute<CreateFeedSelectClass>( builder: (_) => BlocProvider.value( value: BlocProvider.of<TeacheractivityfeedBloc>(context), child: CreateFeedSelectClass(imageStringList: state.selectedImages, imagePathList: state.selectedImagePaths, classList: state.classList,)) ) );
I would like to pass this repository that was already created in this page before the build function
TeacherRepository _teacherRepository = TeacherRepository();
In the example from flutter bloc (https://pub.dev/packages/flutter_bloc)
there is only a way to create a new instance, I want to pass the existing instance instead of creating a new one:
RepositoryProvider( create: (context) => RepositoryA(), //-----> child: ChildA(), );
create: is there any way to do something like value: _teacherRepository like how we do it with BlocProvider.value(value:….) ?
Actually there is a named constructor
value available for
RepositoryProvider which you can use.
RepositoryProvider.value( value: repository, child: Container(), );
Answered By – Amir_P
Answer Checked By – Marilyn (FlutterFixes Volunteer)