无法从该方法返回类型为 'Future<bool?>' 的值,因为它的返回类型为 'Future<bool>

时间:2021-05-28 09:17:41

标签: flutter dart dart-null-safety

Future<bool> foo(BuildContext context) {
  return Navigator.pushNamed<bool>(context, '/bar'); // Error
}

错误:

<块引用>

'Future' 类型的值不能从函数 'foo' 返回,因为它的返回类型为 'Future'

1 个答案:

答案 0 :(得分:2)

Navigator.push 无法返回不可为 null 的类型,因为在您的 /bar 路由中,您可能无需在结果参数中传递任何值即可执行以下操作。

Navigator.pop(context);

您应该将您的签名从 Future<bool> 更改为 Future<bool?>

Future<bool?> foo(BuildContext context) {
  return Navigator.pushNamed<bool>(context, '/bar');
}