'Future<bool?>' 类型的值不能从方法中 return 编辑,因为它有一个 return 类型的 'Future<bool>

A value of type 'Future<bool?>' can't be returned from the method because it has a return type of 'Future<bool>

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

错误:

A value of type 'Future<bool?>' can't be returned from the function 'foo' because it has a return type of 'Future'

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

Navigator.pop(context);

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

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