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

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

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

19 ответов

56 просмотров

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

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- Автор вопроса

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
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
Карта сайта