【发布时间】:2022-01-03 09:22:19
【问题描述】:
我正在尝试将我以前的应用程序与以下代码一起使用,但 Flutter 中似乎发生了一些更新,我收到以下错误:
import 'package:flutter/material.dart';
class CustomRoute<T> extends MaterialPageRoute<T> {
CustomRoute({
WidgetBuilder builder,
RouteSettings settings,
}) : super(
builder: builder,
settings: settings,
);
@override
Widget buildTransitions(
BuildContext context,
Animation<double> animation,
Animation<double> secondaryAnimation,
Widget child,
) {
if (settings.name == '/') {
return child;
}
return FadeTransition(
opacity: animation,
child: child,
);
}
}
class CustomPageTransitionBuilder extends PageTransitionsBuilder {
@override
Widget buildTransitions<T>(
PageRoute<T> route,
BuildContext context,
Animation<double> animation,
Animation<double> secondaryAnimation,
Widget child,
) {
if (route.settings.name == '/') {
return child;
}
return FadeTransition(
opacity: animation,
child: child,
);
}
}
错误:
参数“builder”的值不能为“null”,因为它 类型,但隐含的默认值为“null”。尝试添加一个 显式非“null”默认值或“必需”修饰符。
我尝试添加required 或@required,但均未成功。`
【问题讨论】:
-
添加
required后,错误是什么? -
我添加了
required,错误消失了 -
@MiftakhulArzak:如果我在
builder之前添加required,它会给我这个新错误:The parameter 'required' can't have a value of 'null' because of its type, but the implicit default value is 'null'. Try adding either an explicit non-'null' default value or the 'required' modifier. -
@MiftakhulArzak:是的,你是对的。我把
required放错地方了!
标签: flutter routes required non-nullable