虽然变量是在initState中初始化的,但我遇到了“无效常量值”问题。
你能解释一下为什么会这样吗?
我已经在代码中注解了关键点。
谢谢
附言:我用的是Flutter 3.16.5和Dart 3.2.3
class _LoadingScreenState extends State<LoadingScreen>
with TickerProviderStateMixin {
AnimationController? _animationController; // !Declare!
@override
void initState() {
_animationController = AnimationController( // !Initialization in initState!
vsync: this,
);
}
@override
void dispose() {
_animationController?.dispose();
super.dispose();
}
@override
Widget build(BuildContext context) {
return const Scaffold(
body: ClipRect(
child: Stack(children: [
WelcomeView(
animationController: _animationController!, // !I got invalid constant value issue here!
),
]),
),
);
}
}
字符串
2条答案
按热度按时间smdncfj31#
删除
Scaffold
小部件之前的const
关键字。字符串
inkz8wg92#
要解决此问题,在build方法中创建Scaffold小部件时不应使用const关键字,并且在将_animationController传递给WelcomeView时不应使用const关键字。以下是修改后的代码:
@override Widget build(BuildContext context){ return Scaffold(body:ClipRect(child:Stack(children:[ WelcomeView(animationController:_animationController!,),],),); }