gpt4 book ai didi

dart - 如何在 Dart 中使用格式良好的箭头函数?

转载 作者:IT王子 更新时间:2023-10-29 06:53:52 25 4
gpt4 key购买 nike

在 flutter/dart 项目中,我目前几乎一直在考虑一种方法来减少我的代码大小,考虑到其中一个方法是使用箭头函数来避免括号。

但是我找不到让它们看起来漂亮的方法,例如如果我使用这段代码:

@widget
Widget poscompExams() => StoreConnector<AppState, ViewModel>(
converter: ViewModel.fromStore,
builder: (BuildContext context, ViewModel vm) => Scaffold(
body: Column(
children: <Widget>[
Expanded(
child: ListView.builder(
itemCount: vm.poscomp.exams.length,
itemBuilder: (BuildContext context, int index) {
return ListTile(
title: Text('Test'),
subtitle: const Text('Inserção das provas em andamento'),
leading: const Icon(Icons.computer),
onTap: () => {}
);
},
),
),
],
);
},
);

如果是这样就更好了:

@widget
Widget poscompExams() =>
StoreConnector<AppState, ViewModel>(
converter: ViewModel.fromStore,
builder: (BuildContext context, ViewModel vm) =>
Scaffold(
body: Column(
children: <Widget>[
Expanded(
child: ListView.builder(
itemCount: vm.poscomp.exams.length,
itemBuilder: (BuildContext context, int index) {
return ListTile(
title: Text('Test'),
subtitle: const Text('Inserção das provas em andamento'),
leading: const Icon(Icons.computer),
onTap: () => {}
);
},
),
),
],
);
},
);

我研究了一些方法并找到了 dart_style , 但它似乎遵循一般相同的格式进行格式化。

在 Javascript 上使用 prettier 之类的东西会很好,带有标志选项。

最佳答案

一般来说,如果缩进超过六到七级,就该重构了。这将使您更容易为变体覆盖其中的某些部分,也使阅读和维护您的代码的人更容易理解您的意图。

在您的特定代码中,我会将 ListView.builder 作为您类中的一个单独方法取出。有 IDE 操作可以帮助进行这种重构。

此外,在您的代码中,() => {} 是一个返回空映射的函数。您应该将其修复为 () {}

关于dart - 如何在 Dart 中使用格式良好的箭头函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54730560/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com