Flutter报错:Function()无法赋值给Widget Function(BuildContext)参数的解决方法
错误原因
MaterialPageRoute的builder参数要求传入一个**接收BuildContext类型参数并返回Widget**的函数,但你编写的builder: (){ return MyApp(); }是无参函数,与要求的参数类型不匹配,因此触发类型赋值错误。
解决方法
给builder对应的函数添加BuildContext参数即可,Dart支持自动推断参数类型,所以可以简写为(context):
child: Center( child: MaterialButton(onPressed: (){ Navigator.of(context).push( MaterialPageRoute(builder: (context){ return MyApp(); }), ); }), ),
也可以显式声明参数类型:
child: Center( child: MaterialButton(onPressed: (){ Navigator.of(context).push( MaterialPageRoute(builder: (BuildContext context){ return MyApp(); }), ); }), ),
另外注意补全原代码中缺失的闭合括号,避免出现其他语法错误。
内容的提问来源于stack exchange,提问作者Hirdesh prajapati
相关产品推荐
相关产品推荐

