gpt4 book ai didi

flutter - flutter 中的 runApp(new MyApp()) 和 runApp(new MaterialApp()) 有什么区别?

转载 作者:IT王子 更新时间:2023-10-29 06:47:27 26 4
gpt4 key购买 nike

在 flutter 中,我们可以将一个返回 MaterialApp 实例的无状态小部件传递给 runApp() 函数,如下所示:

void main()=>runApp(new MyApp());

class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return new MaterialApp(
...
);
}
}

或者我们可以将 MaterialApp 的实例直接传递给 runApp() 函数,如下所示:

void main()=>runApp(
new MaterialApp(
...
);
);

这些方法有什么区别?谢谢。

最佳答案

视觉行为没有差异。改变的是热重载的行为方式。

例如,如果您使用 runApp(MaterialApp()),从

更改
runApp(MaterialApp(title: 'Foo'))

runApp(MaterialApp(title: 'Bar'))

那么热重载将不会考虑更改。

如果你有以下类(class):

class MyApp {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Foo',
);
)
}

并像这样使用它:

runApp(MyApp())

然后更改 MyApptitle 将正确地热重载。

关于flutter - flutter 中的 runApp(new MyApp()) 和 runApp(new MaterialApp()) 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51312843/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com