#flutter #dart #dart-null-safety
Вопрос:
Future<bool> foo(BuildContext context) {
return Navigator.pushNamed<bool>(context, '/bar'); // Error
}
Ошибка:
Значение типа «Future<bool?>» не может быть возвращено из функции «foo», поскольку оно имеет возвращаемый тип «Future»
Ответ №1:
Navigator.push
не удается вернуть тип, не допускающий значения null, потому что в вашем /bar
маршруте вы, вероятно, могли бы сделать следующее, не передавая никакого значения в параметре результата.
Navigator.pop(context);
Вам следует изменить свою подпись с Future<bool>
на Future<bool?>
:
Future<bool?> foo(BuildContext context) {
return Navigator.pushNamed<bool>(context, '/bar');
}