我有一个 ui.dart 文件和 UIBuilder.class:
class UI {
static Widget buildButton(String text, VoidCallback onPressed, {double width, ...}) {
return SizedBox(
width: width,
child: RaisedButton(
...
onPressed: onPressed));
}
...
static Widget buildOtherWidget(...)
....
}
然后在大量的Screen/Page中调用即可:
var btn = UI.buildButton(..);
在 flutter/dart 中这是一个不好的模式吗?如果是,我该如何更改?
最佳答案
我认为如果您创建一个单独的文件来创建所有可重用的小部件,效率会更高,例如,
import 'package:flutter/material.dart';
Widget buildButton(String text, VoidCallback onPressed, {double width, ...}) {
return SizedBox(
width: width,
child: RaisedButton(
...
onPressed: onPressed));
}
Widget buildSecondWidget(){
// block of code
}
Widget buildThirdWidget(){
// block of code
}
通过这种方式,您可以获得任意数量的全局小部件。您只需导入此文件即可访问任何可重用小部件,并且在整个应用程序生命周期中不会有静态引用。
所以我认为这种方法比在类中创建有状态小部件更有效。
关于Flutter/dart 和静态 Widget 方法。坏模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59293166/