'flutter- I don't know the difference between these two case
Case 1 :
    children: DUMMY_CATEGORIES.map((catData) {
      CategoryItem(
        catData.title,
        catData.color,
      );
    }).toList(),
Case 2 :
    children: DUMMY_CATEGORIES
        .map(
          (catData) => CategoryItem(
                catData.title,
                catData.color,
              ),
        )
        .toList(),
Case 1 causes an error. Isn't the two cases the same syntax? Why is this error occurring?
════════ Exception caught by rendering library ═════════════════════════════ Null check operator used on a null value The relevant error-causing widget was GridView lib\categories_screen.dart:12 ═════════════════════════════════════════════════════════════
Solution 1:[1]
Case 2 uses the Fat Arrow Expression or Lambda Function Expression, a syntax to write a function on a single line using => syntax AKA fat arrow. more info
DUMMY_CATEGORIES.map(
  (catData) => CategoryItem(
    catData.title,
    catData.color,
  ),
).toList(),
Fat Arrow Syntax:
(args) => expression
If expression has a return type (in your case, a CategoryItem), it directly returns.
It is the same as your Case 1 with a return statement:
DUMMY_CATEGORIES.map(
  (catData) {
    return CategoryItem(
      catData.title,
      catData.color,
    ),
  }
).toList(),
    					Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source | 
|---|---|
| Solution 1 | Thierry | 
