prefer_ spread_ collections
Learn about the prefer_spread_collections linter rule.
Use spread collections when possible.
Details
#Use spread collections when possible.
Collection literals are excellent when you want to create a new collection out of individual items. But, when existing items are already stored in another collection, spread collection syntax leads to simpler code.
BAD:
Widget build(BuildContext context) { return CupertinoPageScaffold( child: ListView( children: [ Tab2Header(), ]..addAll(buildTab2Conversation()), ), ); } var ints = [1, 2, 3]; print(['a']..addAll(ints.map((i) => i.toString()))..addAll(['c'])); var things; var l = ['a']..addAll(things ?? const []); GOOD:
Widget build(BuildContext context) { return CupertinoPageScaffold( child: ListView( children: [ Tab2Header(), ...buildTab2Conversation(), ], ), ); } var ints = [1, 2, 3]; print(['a', ...ints.map((i) => i.toString()), 'c'); var things; var l = ['a', ...?things];
Enable
# To enable the prefer_spread_collections rule, add prefer_spread_collections under linter > rules in your analysis_options.yaml file:
linter: rules: - prefer_spread_collections If you're instead using the YAML map syntax to configure linter rules, add prefer_spread_collections: true under linter > rules:
linter: rules: prefer_spread_collections: true Unless stated otherwise, the documentation on this site reflects Dart 3.10.3. Report an issue.