使用小部件 class 创建小部件和创建扩展 statelessWidget 的 class 小部件有什么区别?

what is the difference between creating widget using widget class, and creating class widget that extend statelessWidget?

所以我有这个代码:

import 'package:flutter/material.dart';
void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({Key? key}) : super(key: key);

  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
        home: Home()
    );
  }
}

Widget Home() {
  return Container(child: Text('aa'),);
}


class Home2 extends StatelessWidget {
  const Home2({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return Container(child: Text('aa'));
  }
}

Home() 和 Home2() 有什么区别?他们的工作原理是一样的还是有一些特别之处?

通常'Home'函数被调用'Helper method'.

这是一个官方的 flutter 视频,解释了 helper 方法和 widget 之间的区别。
https://www.youtube.com/watch?v=IOyq-eTRhvo&ab_channel=Flutter

  • 在小部件树结构中未检测到辅助方法中的小部件
  • 性能:Helper方法在需要刷新时全部重建。
  • 在Helper方法中更改代码时,热重载不起作用
    ...等等..