Size: a a a

Flutter Developers — русскоговорящее сообщество

2019 July 07

АК

Александр Котков in Flutter Developers — русскоговорящее сообщество
😂👍
источник
2019 July 08

i

iam in Flutter Developers — русскоговорящее сообщество
Привет, есть кейс - при нажатии на кнопку, нужно выполнить вычисления и запустить второй экран с результатом . Вопрос как это будет правильней сделать используя bloc + provider? Можно создать 2 переменные для стрима и подписки и слушать стрим на определенное событие в initState или didChangeDependencies(), но тогда нужно руками отменять подписку в dispose(), как-то не очень красиво выходит. Может есть более правильный подход для работы с такими кейсами?
источник

🅵

🅵🅾️🆇 in Flutter Developers — русскоговорящее сообщество
iam
Привет, есть кейс - при нажатии на кнопку, нужно выполнить вычисления и запустить второй экран с результатом . Вопрос как это будет правильней сделать используя bloc + provider? Можно создать 2 переменные для стрима и подписки и слушать стрим на определенное событие в initState или didChangeDependencies(), но тогда нужно руками отменять подписку в dispose(), как-то не очень красиво выходит. Может есть более правильный подход для работы с такими кейсами?
Ну яб сделал именно так
источник

🅵

🅵🅾️🆇 in Flutter Developers — русскоговорящее сообщество
Придумаешь покрасивше - поделись
источник

DS

DVS Studio in Flutter Developers — русскоговорящее сообщество
BlocListener в основном экране. Ловит Стейт после вычисления чего-то в блоке
dispose в dispose, создание блока в initState. Прокидывать данные запуская другой экран в listener-e. Запускать event по кнопке
источник

DS

DVS Studio in Flutter Developers — русскоговорящее сообщество
Должно работать
источник

🅵

🅵🅾️🆇 in Flutter Developers — русскоговорящее сообщество
DVS Studio
BlocListener в основном экране. Ловит Стейт после вычисления чего-то в блоке
dispose в dispose, создание блока в initState. Прокидывать данные запуская другой экран в listener-e. Запускать event по кнопке
Беда сего метода будет в том, что скорее всего будут лишние перерисовывания.
источник

i

iam in Flutter Developers — русскоговорящее сообщество
🅵🅾️🆇
Придумаешь покрасивше - поделись
😁  Как раз зашел сюда с этой целью )
источник

🅵

🅵🅾️🆇 in Flutter Developers — русскоговорящее сообщество
яб сделал именно через прослушку стейта в initstate
источник

DS

DVS Studio in Flutter Developers — русскоговорящее сообщество
Так не обязательно оборачивать всё в листенер. Можно в колонку добавить обернутый контейнер и всё
источник

🅵

🅵🅾️🆇 in Flutter Developers — русскоговорящее сообщество
Вроде в BlocListner нельзя отказаться от перерисовки экрана, на определенные события
источник

🅵

🅵🅾️🆇 in Flutter Developers — русскоговорящее сообщество
Тобишь при событии А - надо перерисовать, а при событии Б только выполнить некие действия, оставив виджеты не тронутыми.
источник

i

iam in Flutter Developers — русскоговорящее сообщество
BlocListener - это из flutter_bloc?
источник

🅵

🅵🅾️🆇 in Flutter Developers — русскоговорящее сообщество
Да.
источник

🅵

🅵🅾️🆇 in Flutter Developers — русскоговорящее сообщество
Там у провайдера должна быть альтернатива
источник

🅵

🅵🅾️🆇 in Flutter Developers — русскоговорящее сообщество
да и незачем тебе тянуть flutter_bloc
источник

🅵

🅵🅾️🆇 in Flutter Developers — русскоговорящее сообщество
если пользуешь провайдер
источник

i

iam in Flutter Developers — русскоговорящее сообщество
незачем ) работаю с провайдером
источник

DS

DVS Studio in Flutter Developers — русскоговорящее сообщество
Типа
Column
-listener
--container
-blocbuilder
--AllWidgets

AllWidgets сделать ещё класс с with AlwaysSaveStateMixin если надо прям не перерисовывать. +В поле shouldRebuild делать true только если новые данные из блока пришли для отрисовки
источник

🅵

🅵🅾️🆇 in Flutter Developers — русскоговорящее сообщество
DVS Studio
Типа
Column
-listener
--container
-blocbuilder
--AllWidgets

AllWidgets сделать ещё класс с with AlwaysSaveStateMixin если надо прям не перерисовывать. +В поле shouldRebuild делать true только если новые данные из блока пришли для отрисовки
Выглядит не очень)
источник