Size: a a a

Dart & Flutter по-русски

2020 March 15

D

Dagba in Dart & Flutter по-русски
зачем в функцию ты передаешь как аргумент
источник

D

Dagba in Dart & Flutter по-русски
какойто конфиг
источник

AE

Andrey Eremenko in Dart & Flutter по-русски
я предполагал что оно так работает: https://flutter.dev/docs/cookbook/design/themes
но мне не нравится что я вынужден в корне приложения настраивать внешний вид, хотелось вынести это куда-то
источник

AE

Andrey Eremenko in Dart & Flutter по-русски
Dagba
сделай переменную const
ошибка const_initialized_with_non_constant_value
источник

AE

Andrey Eremenko in Dart & Flutter по-русски
Вынес в класс в итоге (оно так правильнее), но понятнее поведение не стало.
В импортируемой переменной содержится экземпляр класса ThemeData, но почему-то с параметрами по-умолчанию!
источник

П

Павел in Dart & Flutter по-русски
Я же могу в Bloc get initialState провести полноценную асинхронную операцию ? Чтение с сервера, с файловой системы и т.п. Или это не best practices ?
источник

EC

Evgeny Cherkasov in Dart & Flutter по-русски
Как задать для такого параметра
String Function(String) emailValidator;
значение по умолчанию в конструкторе?
источник

П

Павел in Dart & Flutter по-русски
Хотя понимаю, это геттер и как оформить его асинхронной функцией?
источник

EC

Evgeny Cherkasov in Dart & Flutter по-русски
Такой вариант не прокатывает:
this.emailValidator: (value) => null,
пишет что значение параметра по умолчанию должно быть константой
источник

GV

Gorohov Valeriy in Dart & Flutter по-русски
Evgeny Cherkasov
Такой вариант не прокатывает:
this.emailValidator: (value) => null,
пишет что значение параметра по умолчанию должно быть константой
this.emailValidator: null,
источник

EC

Evgeny Cherkasov in Dart & Flutter по-русски
Gorohov Valeriy
this.emailValidator: null,
так не пойдет
мне в значении по умолчанию нужна функция, которая возвращает null
источник

GV

Gorohov Valeriy in Dart & Flutter по-русски
А там где её используешь уже пишешь:
emailValidator ?? (value) => null
источник

EC

Evgeny Cherkasov in Dart & Flutter по-русски
Gorohov Valeriy
А там где её используешь уже пишешь:
emailValidator ?? (value) => null
хм, ну как вариант
источник

GV

Gorohov Valeriy in Dart & Flutter по-русски
Evgeny Cherkasov
так не пойдет
мне в значении по умолчанию нужна функция, которая возвращает null
Ещё вариант:
..., emailValidator): this.emailValidator = emailValidator ?? (value) => null, ...
источник

EC

Evgeny Cherkasov in Dart & Flutter по-русски
Gorohov Valeriy
А там где её используешь уже пишешь:
emailValidator ?? (value) => null
Не работает. При выполнении пишет ошибку:
type '(dynamic) => Null' is not a subtype of type 'String'
источник

EC

Evgeny Cherkasov in Dart & Flutter по-русски
Gorohov Valeriy
Ещё вариант:
..., emailValidator): this.emailValidator = emailValidator ?? (value) => null, ...
Это тоже не проходит. Ругается на value.
источник

GV

Gorohov Valeriy in Dart & Flutter по-русски
Evgeny Cherkasov
Это тоже не проходит. Ругается на value.
, String Function(String) emailValidator}) : this.emailValidator = (emailValidator ?? (value) => null);
источник

EC

Evgeny Cherkasov in Dart & Flutter по-русски
Единственный вариант который работает это поместить инициализацию в тело конструктора:
{
 this.emailValidator = emailValidator ?? (value) => null;
}
Но тогда поле приходится делать не final
источник

GV

Gorohov Valeriy in Dart & Flutter по-русски
Evgeny Cherkasov
Не работает. При выполнении пишет ошибку:
type '(dynamic) => Null' is not a subtype of type 'String'
А ты его как используешь?
источник

EC

Evgeny Cherkasov in Dart & Flutter по-русски
Gorohov Valeriy
А ты его как используешь?
validator: (value) => emailValidator(value) ?? (value) => null,
источник