Size: a a a

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

2019 July 08

🅵

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

DS

DVS Studio in Flutter Developers — русскоговорящее сообщество
(ну почему странные мысли приходят только в метро)
источник

🅵

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

DS

DVS Studio in Flutter Developers — русскоговорящее сообщество
🅵🅾️🆇
Выглядит не очень)
Это только видимость. По факту оно должно работать быстрее за счёт сохранения состояния и не перерисосываться.
Но да.. городить кучу классов - такое.
источник

DS

DVS Studio in Flutter Developers — русскоговорящее сообщество
Даёшь хакакод!!)
источник

IP

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

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

IP

Igor Petushkov in Flutter Developers — русскоговорящее сообщество
то есть build всё равно будет вызываться, но initState нет
источник

IP

Igor Petushkov in Flutter Developers — русскоговорящее сообщество
есть просто одно простое правило - не перегружать build метод и не пытаться его как-то оптимизировать и "вызывать редко и только тогда, когда нужно"
источник

IP

Igor Petushkov in Flutter Developers — русскоговорящее сообщество
потому что он будет вызываться даже тогда, когда происходит переход по навигации
источник

IP

Igor Petushkov in Flutter Developers — русскоговорящее сообщество
когда будет возврат по навигации
источник

IP

Igor Petushkov in Flutter Developers — русскоговорящее сообщество
когда диалог появится и тп
источник

IP

Igor Petushkov in Flutter Developers — русскоговорящее сообщество
это как пример неочевидных мест
источник

DS

Don Sergioz in Flutter Developers — русскоговорящее сообщество
Как-то сложно ребята. Можно в функции тапа на кнопку сделать все вычисления. Записать результат в глобальный стейт-синглтон. А потом перейти по роутингу на второй экран. А он там считает результат из стейта.
источник

DS

Don Sergioz in Flutter Developers — русскоговорящее сообщество
Никаких блоков, лисенеров ... )
источник

K

Karen in Flutter Developers — русскоговорящее сообщество
Don Sergioz
Как-то сложно ребята. Можно в функции тапа на кнопку сделать все вычисления. Записать результат в глобальный стейт-синглтон. А потом перейти по роутингу на второй экран. А он там считает результат из стейта.
для такого флоу ваше решение даже слишком сложное
источник

🅵

🅵🅾️🆇 in Flutter Developers — русскоговорящее сообщество
Don Sergioz
Как-то сложно ребята. Можно в функции тапа на кнопку сделать все вычисления. Записать результат в глобальный стейт-синглтон. А потом перейти по роутингу на второй экран. А он там считает результат из стейта.
можно для небольших приложений
источник

DS

Don Sergioz in Flutter Developers — русскоговорящее сообщество
@ThisUsernameIsInvalid В чем сложность то?
источник

🅵

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

K

Karen in Flutter Developers — русскоговорящее сообщество
Don Sergioz
@ThisUsernameIsInvalid В чем сложность то?
зачем отдельный синглтон стейт?
источник

DS

Don Sergioz in Flutter Developers — русскоговорящее сообщество
Он не отдельный, он глобальный для хранения каких-то данных
источник