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

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

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

19 ответов

25 просмотров

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

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

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

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

@MrMiscipitlick А можешь макрос написать, который будет вычислять смещение относительно переданных меток? Просто .label1-.label2, и вернуть значение.
КТ315
35
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
А еще в перле можно уже @arr1 + @arr2?
Sergei Zhmylove
53
Подобного рода ;Следующие три строки это директивы ассемблера, ;которые можно не задавать, т.к.работаем в Visual Studio. ;Символ ";" - это начало однострочного комментария ...
Егор Анелькин
3
Привет всем. появился вопрос. Разрабатываю сайт, в данный момент он запущен. Хостинг beget. Добавляю на сайт яндекс метрику с помощью полей client-settings (взято отсюда http...
Andrew
2
Кто-нибудь знает почему SPM клонирует репо целиком? Некоторые репы просто огромные, как та же swift-syntax которая нужна для использования макросов. Сначала подумал, что это...
iMike
6
Подскажите, где смотреть результат выполнения программы? Код: ;.686 ;Система команд процессора 686 ;.MODEL FLAT,stdcall ;Модель памяти плоская, станда...
Егор Анелькин
5
Привет. Я верно понимаю, что в определении класса Монад m — зафиксирован (к тому же поскольку это моноид в категории эндофункторов). Т.е. используя байнд я не могу перемещать...
Arseny
5
еще вопрос, допустим мы создадим char массив из 10 элементов и присвоим ему через сканф 10 символов. и выведем все символы. Хотел спросить последний элемент /0 будет включать...
Anthem
11
;.686 ;Система команд процессора 686 ;.MODEL FLAT,stdcall ;Модель памяти плоская, стандартный ;вызов процедуры ;option casemap:no...
Егор Анелькин
1
Карта сайта