【发布时间】:2021-06-08 21:46:49
【问题描述】:
我正在使用 Dart/Flutter 构建一个简单的应用程序。我尝试应用其他框架中的一些概念(例如“组件”),最后遇到了一个问题,即在这种情况下什么是好的做法。
到目前为止,这是我的家:
import 'package:flutter/material.dart';
import 'package:image_recognition_poc/components/layout/app_bar.dart';
import 'package:image_recognition_poc/components/layout/drawer.dart';
class Home extends StatefulWidget {
@override
_HomeState createState() => _HomeState();
}
class _HomeState extends State<Home> {
@override
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: Colors.teal[100],
appBar: DefaultAppBar().build(context),
drawer: DefaultDrawer().build(context),
body: Container());
}
}
这是我的小部件之一:
import 'package:flutter/material.dart';
class DefaultAppBar extends StatelessWidget {
@override
Widget build(BuildContext context) {
return AppBar(
title: Text(
'Portal parceiro',
style: TextStyle(color: Colors.white),
),
backgroundColor: Colors.teal[600],
elevation: 0,
);
}
}
由于 Scaffold.appBar 字段仅接受实现类 Widget 的 PreferredSizeWidget,因此我构建了 DefaultAppBar 对象,如图所示 DefaultAppBar().build(context)。
它有效,但我想知道这是否是好的做法,或者是否是激活此组件化的更好方法。
谢谢!
【问题讨论】: