Size: a a a

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

2019 June 20

m

mikeevstropov in Flutter Developers — русскоговорящее сообщество
Привет народ. Есть ли более правильная реализация метода copyWith? Или иногда такое позволительно? То есть, нужно отделить не переданное значение от переданного null. Использую enum для пустых значений
источник

t

tdesc in Flutter Developers — русскоговорящее сообщество
mikeevstropov
Привет народ. Есть ли более правильная реализация метода copyWith? Или иногда такое позволительно? То есть, нужно отделить не переданное значение от переданного null. Использую enum для пустых значений
А для чего сие делается?
источник

t

tdesc in Flutter Developers — русскоговорящее сообщество
Очень похоже на самопальный редакс редюсер
источник

m

mikeevstropov in Flutter Developers — русскоговорящее сообщество
tdesc
А для чего сие делается?
ну ты например в mapEventToState ловишь событие, а потом
if (event is CampaignsChanged)
     yield currentState.copyWith(
       campaigns: event.value,
     );
источник

t

tdesc in Flutter Developers — русскоговорящее сообщество
Используй built_value
источник

t

tdesc in Flutter Developers — русскоговорящее сообщество
Иммутабельные и быстрые
источник

t

tdesc in Flutter Developers — русскоговорящее сообщество
Удобные в коллекциях
источник

m

mikeevstropov in Flutter Developers — русскоговорящее сообщество
Не особо понял как иммутабельность поможет решить вопрос клонирования объекта с новыми значениями некоторых полей. Или это просто совет использовать иммутабельность? Так я не особо переживаю, что кто-то может поменять объект после его создания. По крайней мере добавлять генераторы в проект ради этого точно не буду =)
источник

t

tdesc in Flutter Developers — русскоговорящее сообщество
Там есть функция rebuild которая возвращает копию обьекта с нужными изменениями
источник

t

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

m

mikeevstropov in Flutter Developers — русскоговорящее сообщество
tdesc
Там есть функция rebuild которая возвращает копию обьекта с нужными изменениями
Это уже интереснее. Благодарю 🙂
источник

PS

Pavel Shilyagov in Flutter Developers — русскоговорящее сообщество
mikeevstropov
Не особо понял как иммутабельность поможет решить вопрос клонирования объекта с новыми значениями некоторых полей. Или это просто совет использовать иммутабельность? Так я не особо переживаю, что кто-то может поменять объект после его создания. По крайней мере добавлять генераторы в проект ради этого точно не буду =)
Так зачем вообще copyWith, если нет нужды в имутабельности? Берёшь мутируешь поле у объекта и все
источник

m

mikeevstropov in Flutter Developers — русскоговорящее сообщество
Pavel Shilyagov
Так зачем вообще copyWith, если нет нужды в имутабельности? Берёшь мутируешь поле у объекта и все
Не особо переживаю за иммутабельность - потому как использую final =)
источник

m

mikeevstropov in Flutter Developers — русскоговорящее сообщество
Уже на автомате прописываю методы fromJson и toJson - не особо напрягает + либа equatable для сравнения. А вот подключать генератор, который будет сорить *.g.dart как-то не хотелось. Польза очевидна,  но почему-то отторжение какое-то. Видно не привык еще к этим генераторам.
источник

t

tdesc in Flutter Developers — русскоговорящее сообщество
не смотри ))
источник

t

tdesc in Flutter Developers — русскоговорящее сообщество
но вообщето писать fromJson и toJson когда у тебя объекты по 20-30-50 полей и коллекции и мапы как то невесело
источник

PS

Pavel Shilyagov in Flutter Developers — русскоговорящее сообщество
mikeevstropov
Уже на автомате прописываю методы fromJson и toJson - не особо напрягает + либа equatable для сравнения. А вот подключать генератор, который будет сорить *.g.dart как-то не хотелось. Польза очевидна,  но почему-то отторжение какое-то. Видно не привык еще к этим генераторам.
К сожалению, вариантов не много. Или обезьянья работа руками, или built_value. Ну можно ещё свой генератор сделать :)
источник

t

tdesc in Flutter Developers — русскоговорящее сообщество
built_value чудесен и всецело замечателен
источник

t

tdesc in Flutter Developers — русскоговорящее сообщество
кроме “дефолтных” значений
источник

t

tdesc in Flutter Developers — русскоговорящее сообщество
но жить можно
источник