Pular para o conteúdo principal

prefer_spread_collections

Saiba mais sobre a regra de lint prefer_spread_collections.

Estável
Recomendado
Correção disponível
Lançado no Dart 2.3

Use coleções com spread quando possível.

Detalhes

#

Use coleções com spread (operador ...) quando possível.

Literais de coleção são excelentes quando você quer criar uma nova coleção a partir de itens individuais. Mas, quando os itens existentes já estão armazenados em outra coleção, a sintaxe de spread de coleção leva a um código mais simples.

RUIM:

dart
Widget build(BuildContext context) {
  return CupertinoPageScaffold(
    child: ListView(
      children: [
        Tab2Header(),
      ]..addAll(buildTab2Conversation()),
    ),
  );
}
dart
var ints = [1, 2, 3];
print(['a']..addAll(ints.map((i) => i.toString()))..addAll(['c']));
dart
var things;
var l = ['a']..addAll(things ?? const []);

BOM:

dart
Widget build(BuildContext context) {
  return CupertinoPageScaffold(
    child: ListView(
      children: [
        Tab2Header(),
        ...buildTab2Conversation(),
      ],
    ),
  );
}
dart
var ints = [1, 2, 3];
print(['a', ...ints.map((i) => i.toString()), 'c');
dart
var things;
var l = ['a', ...?things];

Ativar

#

Para ativar a regra prefer_spread_collections, adicione prefer_spread_collections em linter > rules no seu arquivo analysis_options.yaml:

analysis_options.yaml
yaml
linter:
  rules:
    - prefer_spread_collections

Se você usa a sintaxe de mapa YAML para configurar as regras de lint, adicione prefer_spread_collections: true em linter > rules:

analysis_options.yaml
yaml
linter:
  rules:
    prefer_spread_collections: true

Encontrou essa página sem tradução ou que precisa de correção? Abra uma issue e nos ajude a manter esse site em PT-BR para ajudar pessoas como você.