dart Flutter的“无效常数值错误”

46qrfjad  于 9个月前  发布在  Flutter
关注(0)|答案(2)|浏览(123)

虽然变量是在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! 
          ),
        ]),
      ),
    );
  }
}

字符串

smdncfj3

smdncfj31#

删除Scaffold小部件之前的const关键字。

@override
  Widget build(BuildContext context) {
    return Scaffold(
       
  }

字符串

inkz8wg9

inkz8wg92#

要解决此问题,在build方法中创建Scaffold小部件时不应使用const关键字,并且在将_animationController传递给WelcomeView时不应使用const关键字。以下是修改后的代码:
@override Widget build(BuildContext context){ return Scaffold(body:ClipRect(child:Stack(children:[ WelcomeView(animationController:_animationController!,),],),); }

相关问题