创建自己的颤动小部件最佳实践

问题描述 投票:3回答:1

我试图理解在颤动中创建自己的小部件的最佳风格,这里有两个非常简单的例子

使用底部的代码,我可以使用1)

new SomeWidget("Some title", someFunction);

或2)

SomeWidget.widget("Some title", someFunction);

或者3)我不知道的其他方式

方法1)感觉更正确(如果我没有犯错),但方法2)实际上有更少的代码(因为我不需要更早地声明对象变量,假设我不需要访问上下文),但我对静态方法很谨慎。

是1)首选,为什么?

class SomeWidget extends StatelesssWidget {

  String title;
  Function callback;

  SomeWidget( this.title, this.callback );

  //method 1
  Widget build(context) {
    return GestureDetector(
      onTap: callback,
      child: ....some widget
    )
  }

  //method 2
  static Widget widget(String title, Function callback) {
    return GestureDetector(
      onTap: callback,
      child: ....some widget
    )
  }

}
dart flutter
1个回答
3
投票

我不知道实际的guildelines,但我更喜欢类似的东西

class SomeWidget extends StatelesssWidget {

  SomeWidget({this.title, this.callback});

  final String title;
  final VoidCallback callback;

  Widget build(context) {
    return GestureDetector(
      onTap: callback,
      child: ....some widget
    );
  }
}

或者你可以这样做

SomeWidget({this.title = '', @required this.callback})

默认值或需要某个值

PS这一切都不是准则 - 它只是一个恕我直言

© www.soinside.com 2019 - 2024. All rights reserved.