flutter 具有非常数构造函数的类可以是小部件的子对象吗?例如,State对象是Center或materialApp的子对象

rjee0c15  于 2023-02-25  发布在  Flutter
关注(0)|答案(1)|浏览(119)

我尝试将State对象作为子对象传递给计数器小部件,但收到以下错误:-
编译为JavaScript时出错:/tmp/数据输入板/库/主文件。数据输入:59:18:错误:无法调用应为常量表达式的非“const”构造函数。请尝试使用为“const”的构造函数或工厂。子级:- -对方国家(),
谁能解释一下发生了什么事,为什么?

void main() {
  runApp(
    const MaterialApp(
      home: Scaffold(
        body: Center(
          child: _CounterState(),
        ),
      ),
    ),
  );
}

_CounterState是扩展State类的类

mm5n2pyu

mm5n2pyu1#

您的_CounterState()可能既不是StatefulWidget,也不是StatelessWidget
您的_CounterState()定义可能如下所示:

class _CounterState extends State<Counter> {
...
}

在Flutter中,您不能将任何类型的类传递给内置Widget的子控件。
只能传入扩展或实现Widget类的类的示例。

相关问题