Флаттер WEB, шаблоны макетов. поп возвращается пустота, но ожидает Bool - PullRequest
1 голос
/ 10 февраля 2020

Я пытаюсь следовать этому уроку. Прогресс здесь: https://github.com/vinceyoumans/flutweb001/tree/menu001


AssetNotFoundException: the_basics|lib/services/navigation_service.ddc.js
Error compiling dartdevc module:the_basics|lib/services/navigation_service.ddc.js

packages/the_basics/services/navigation_service.dart:12:38: Error: This expression has type 'void' and
can't be used.
    return navigatorKey.currentState.pop();

Код находится в: /lib/services/navigation_services.dart


import 'package:flutter/material.dart';

class NavigationService {
  final GlobalKey<NavigatorState> navigatorKey =
      GlobalKey<NavigatorState>();

  Future<dynamic> navigateTo(String routeName) {
    return navigatorKey.currentState.pushNamed(routeName);
  }

  bool goBack() {
    return navigatorKey.currentState.pop();
  }
}

Ошибка, которую я получаю:

Невозможно вернуть значение типа 'void' из метода 'goBack', так как он имеет тип возвращаемого значения 'bool'.dart (return_of_invalid_type) из этой строки "

navigatorKey.currentState.pop();

Таким образом, кажется, что пустота возвращается, когда он ожидает Bool. Есть мысли о том, как это исправить?

Ответы [ 2 ]

1 голос
/ 14 февраля 2020

Нет никаких последствий при изменении типа возвращаемого значения. Вы можете просто удалить возврат из

navigatorKey.currentState.pop();

и обновить свою функцию для возврата void. Я не видел, чтобы это вызывало какие-либо проблемы в моих проектах.

0 голосов
/ 14 февраля 2020

Кроме того, вы можете изменить тип возвращаемого значения функции void или просто удалить ее.

goBack() {
    navigatorKey.currentState.pop();
  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...