У меня 2 экрана, первый экран для отображения списка элементов. Второй - это форма для создания нового предмета. На стороне сервера после каждого действия store, update, destroy
я возвращаю его значение обратно клиенту в качестве ответа. Цель здесь - обновить состояние без необходимости делать новый запрос по сети и показывать экран загрузки снова и снова каждый раз, когда пользователь создает новый ресурс и возвращается к экрану, содержащему список.
Но поскольку BlocBuilder
зависит только от определенного события c, а state.data
доступен только внутри оператора if (event is NameOfEvent)
, я не мог изменить текущее состояние на pu sh новое значение для него.
Я обнаружил, что использование BlocListener
в сочетании с InitState
и setState
каким-то образом работает, но я думаю, что это делает state.data
бесполезным внутри BlocBuilder
, а также усложняет алгоритм для такого маленького задача.
Есть ли более простой способ достичь этого условия?
child: BlocBuilder<EducationBloc, EducationState>(
builder: (context, state) {
if (state is EducationLoaded) {
return ListEducationData(educations: state.data);
}
if (state is EducationCreated) {
final education = state.data;
// i want to push [education] to <ListEducationData>
}
...
...