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

Концептуальный вопрос. Использую флаттер блок. В самом блоке сохраняю ссылки

на TextEditingController, что позволяет все виджеты делать stateless. С одной стороны красивая архитектура, с другой стороны смущает зависимость контроллера от фреймворка. Если бы вы такое в коде увидели, слово из скольких букв вам бы пришло на ум? )))

11 ответов

13 просмотров

Чем тебя пугает statefull?

Юджин Флаттер- Автор вопроса

Тем что состояние размазывается по нескольким слоям. С одной стороны контроллер, будь он блоком или чем еще, хранит какие-то данные. С другой стороны данные хранятся в виджете. И чтобы она не разъехалась, нужно следить. А следить лень.

На самом деле не нужно хранить контролеры в bloc/redux/тд.

У меня такой проблемы нет… А закрываете контроллеры вы как?

Юджин Флаттер- Автор вопроса

Я поэтому вопрос и задал. Теоретический блок провайдер умирает и собирается мусором. Ну если не хранить контроллеры в блоках, а вам нужно принудительно обновить значение в полях, получается много лишнего кода.

«много лишнего кода» получается тогда когда делаешь костыль…

Контроллеры лучше хранить в стфул виджете, там меньше проблем может возникнуть с его dispose. Ну и сторого говоря контроллер не то, чтобы обязателен

Юджин Флаттер- Автор вопроса

Понял, Я у меня был проект где пользовательские данные сразу отправлялись в модель через онапдейт. И тогда действительно, никаких контроллеров полей ввода не нужно.

У тебя вопрос, нормально ли выносить виджет-логику, валидацию и т.д. Да, нужно куда-то выносить, если хочешь покрыть тестами

Юджин Флаттер- Автор вопроса

Вот вот )

А для чего? Есть же тест виджетов

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
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
Карта сайта