Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter 运行应用程序需要MaterialApp中的home属性吗?_Flutter - Fatal编程技术网

Flutter 运行应用程序需要MaterialApp中的home属性吗?

Flutter 运行应用程序需要MaterialApp中的home属性吗?,flutter,Flutter,在编译时,它显示没有问题,但在运行程序后,它在控制台中显示以下错误。 For the "/" route, the "home" property, if non-null, is used 这是我的密码: import 'package:flutter/material.dart'; void main() => runApp(MyApp()); class MyApp extends StatelessWidget { @overri

在编译时,它显示没有问题,但在运行程序后,它在控制台中显示以下错误。

For the "/" route, the "home" property, if non-null, is used

这是我的密码:

import 'package:flutter/material.dart';

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

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Hello world',
    
    );
  }
}
我对颤振是新手,我想知道为什么颤振会出现这种错误?

发生此错误是因为
MaterialApp
类中既没有
routes
属性,也没有
home
属性,因此可以将任一home属性添加到具有容器
Scaffold
类的生成方法的类中。 因此,最简单的方法(如果您没有多个屏幕的路由)是添加一个
home
属性,如下所示:

import 'package:flutter/material.dart';

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

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Hello world',
      home: YourClassName(),
    );
  }
}
之后,您可以创建
YourClassName
,它可以是一个无状态或有状态的小部件,如以下示例所示:

class YourClassName extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Center(child: Text("some text")),
    );
  }
}
我希望这对你有帮助



发生此错误是因为在
MaterialApp
类中没有
routes
home
属性,因此可以将任一home属性添加到具有容器
Scaffold
类的生成方法的类中。 因此,最简单的方法(如果您没有多个屏幕的路由)是添加一个
home
属性,如下所示:

import 'package:flutter/material.dart';

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

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Hello world',
      home: YourClassName(),
    );
  }
}
之后,您可以创建
YourClassName
,它可以是一个无状态或有状态的小部件,如以下示例所示:

class YourClassName extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Center(child: Text("some text")),
    );
  }
}
我希望这对你有帮助