169 похожих чатов

Хм. Получается если я хочу использовать snackbar для отображения ошибки

я не могу использовать streamBuilder для отлова ошибки и отображения через него? Я просто попробовал выводит что нельзя showSnackbar из build использовать это слегка континтуитивно

19 ответов

54 просмотра

Слушаешь показываешь Ничего не мешает подписаться на стрим и слушать его

Anatoliy- Автор вопроса
Alex Wow
Слушаешь показываешь Ничего не мешает подписаться...

https://stackoverflow.com/questions/55551814/unable-to-display-snackbar

Anatoliy
https://stackoverflow.com/questions/55551814/unabl...

Ну мне ещё читать и вникать надо ? Сложно так объяснить что ли

Anatoliy- Автор вопроса
Alex Wow
Ну мне ещё читать и вникать надо ? Сложно так объя...

StreamBuilder<String>( initialData: "", stream: _appService.watchErrorInfo, builder: (context, snapshot) { //log("$snapshot", name: "login.page.error"); if (snapshot.hasData) { log(snapshot.requireData, name: "login.page.error"); if (snapshot.requireData != "") { _appService.rootScaffoldMessengerKey.currentState?.showSnackBar(SnackBar( content: Text(snapshot.requireData), duration: const Duration(seconds: 1), )); } } return const SizedBox(); }),

Alex Wow
Ну мне ещё читать и вникать надо ? Сложно так объя...

Если есть готовый ответ на SO, то придётся читать и вникать. Никто вам тут не обязан переводчиком работать.

Anatoliy
StreamBuilder<String>( ...

Вот у тебя есть стрим ,почему нельзя подписаться на него ?

Alex Wow
Я не задаю вопрос сорян это наглость

Ааа, это спрашивающий кидает какие-то ссылки на SO?

Anatoliy- Автор вопроса
Alex Wow
Вот у тебя есть стрим ,почему нельзя подписаться н...

bloc.employeesadded.listen( (_) => scaffold.of(context).showsnackbar( snackbar( content: text('employee added'), ), ), );

Anatoliy- Автор вопроса
Alex Wow
Вот у тебя есть стрим ,почему нельзя подписаться н...

Типа так? Я так понимаю чтобы контекст был вне build ?

Anatoliy
bloc.employeesadded.listen( (_) => sc...

Ошибку кинь Пишет что нельзя ?

Anatoliy- Автор вопроса
Alex Wow
Ошибку кинь Пишет что нельзя ?

The following assertion was thrown building StreamBuilder<String>(dirty, state: _StreamBuilderBaseState<String, AsyncSnapshot<String>>#6a1d1): The showSnackBar() method cannot be called during build. The showSnackBar() method was called during build, which is prohibited as showing snack bars requires updating state. Updating state is not possible during build.

Anatoliy
Типа так? Я так понимаю чтобы контекст был вне bui...

У тебя есть контекст уже на стадии когда ты вышел из функции инит Стейт, если будешь работать с стфул виджетом

Anatoliy
StreamBuilder<String>( ...

Билдер, как ясно из названия, строит дерево виджетов. В нем ничего, кромке return Widget1(child: Widget2(...)) не должно быть. А ты в нем пытаешься дергать показ снэкбара.

Anatoliy- Автор вопроса
Sergio Molchanovsky
Билдер, как ясно из названия, строит дерево виджет...

Ну из доки это не очевидно. Окей не везде видимо их функция стейт выполняется. Через listen пойдет

Anatoliy
Ну из доки это не очевидно. Окей не везде видимо и...

Да из доки не видно Поэтому потом понимаешь ,что есть события на которые можно реагировать

Anatoliy
bloc.employeesadded.listen( (_) => sc...

Если ты используешь bloc, то почему бы не использовать блоклистенер?

Anatoliy- Автор вопроса

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
1
Он в одиночку это дело запилил или была какая-то команда?
Aquinary
12
~ 2m21s  nix shell github:nixos/nixpkgs#stack ~  stack ghc -- --version error: … while calling the 'derivationStrict' builtin at /builtin/derivation.nix:...
Rebuild your mind.
6
Всем привет, нужна как никогда, нужна помощь с IO в загрузчике. Пишу в code16 после установки сегментных регистров, пишу вывод символа. Пробовал 2 варианта: # 1 mov $0x0E, %a...
Shadow Akira
14
Карта сайта