代码之家  ›  专栏  ›  技术社区  ›  Felipe Augusto Ak S

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

  •  0
  • Felipe Augusto Ak S  · 技术社区  · 6 年前

    在一个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的东西会很好,带有标志选项。

    0 回复  |  直到 6 年前
        1
  •  2
  •   Randal Schwartz    6 年前

    一般来说,如果你已经通过了六到七级的缩进,那么是时候重构了。这将使您更容易重写部分代码以进行变体,也使阅读和维护您的代码的人更容易理解您的意图。

    在你的特定代码中,我会 ListView.builder 作为一个单独的方法在你的课堂上。IDE操作可以帮助进行这种重构。

    另外,在你的代码里, () => {} 返回空映射的函数。你应该把它修好 () {}