title: Flutter Error: type 'Null' is not a subtype of type 'String'
body: <p>I'm new in Flutter. I'm trying to develop the banking app project for IOS or Android. I don't understand that what this error means. I don't see anything to make change on code. And, When I compiler, I get this error:</p>
  <pre><code>══╡ EXCEPTION CAUGHT BY WIDGETS LIBRARY ╞═══════════════════════════════════════════════════════════
  The following _TypeError was thrown building HomeScreen(dirty, state: _HomeScreenState#e34f3):
  type 'Null' is not a subtype of type 'String'
  
  The relevant error-causing widget was:
    HomeScreen file:///Users/berfin/VSCodeProjects/bankingapp/lib/main.dart:14:13
  
  When the exception was thrown, this was the stack:
  #0      operation.&lt;anonymous closure&gt; (package:bankingapp/models/operation.dart:12:51)
  #1      MappedListIterable.elementAt (dart:_internal/iterable.dart:412:31)
  #2      ListIterator.moveNext (dart:_internal/iterable.dart:341:26)
  #3      new _GrowableList._ofEfficientLengthIterable (dart:core-patch/growable_array.dart:188:27)
  #4      new _GrowableList.of (dart:core-patch/growable_array.dart:150:28)
  #5      new List.of (dart:core-patch/array_patch.dart:50:28)
  #6      ListIterable.toList (dart:_internal/iterable.dart:212:44)
  #7      operation (package:bankingapp/models/operation.dart:14:6)
  #8      operation (package:bankingapp/models/operation.dart)
  #9      _HomeScreenState.build (package:bankingapp/screens/homescreen.dart:189:49)
  #10     StatefulElement.build (package:flutter/src/widgets/framework.dart:4691:27)
  #11     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4574:15)
  #12     StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:4746:11)
  #13     Element.rebuild (package:flutter/src/widgets/framework.dart:4267:5)
  #14     ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4553:5)
  #15     StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:4737:11)
  #16     ComponentElement.mount (package:flutter/src/widgets/framework.dart:4548:5)
  ...     Normal element mounting (24 frames)
  #40     Element.inflateWidget (package:flutter/src/widgets/framework.dart:3611:14)
  #41     MultiChildRenderObjectElement.inflateWidget (package:flutter/src/widgets/framework.dart:6221:36)
  #42     MultiChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:6232:32)
  ...     Normal element mounting (170 frames)
  #212    Element.inflateWidget (package:flutter/src/widgets/framework.dart:3611:14)
  #213    MultiChildRenderObjectElement.inflateWidget (package:flutter/src/widgets/framework.dart:6221:36)
  #214    MultiChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:6232:32)
  ...     Normal element mounting (345 frames)
  #559    Element.inflateWidget (package:flutter/src/widgets/framework.dart:3611:14)
  #560    Element.updateChild (package:flutter/src/widgets/framework.dart:3363:18)
  #561    RenderObjectToWidgetElement._rebuild (package:flutter/src/widgets/binding.dart:1189:16)
  #562    RenderObjectToWidgetElement.mount (package:flutter/src/widgets/binding.dart:1159:5)
  #563    RenderObjectToWidgetAdapter.attachToRenderTree.&lt;anonymous closure&gt;
  (package:flutter/src/widgets/binding.dart:1104:18)
  #564    BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:2535:19)
  #565    RenderObjectToWidgetAdapter.attachToRenderTree
  (package:flutter/src/widgets/binding.dart:1103:13)
  #566    WidgetsBinding.attachRootWidget (package:flutter/src/widgets/binding.dart:937:7)
  #567    WidgetsBinding.scheduleAttachRootWidget.&lt;anonymous closure&gt;
  (package:flutter/src/widgets/binding.dart:917:7)
  (elided 11 frames from class _RawReceivePortImpl, class _Timer, dart:async, and dart:async-patch)
  
  ════════════════════════════════════════════════════════════════════════════════════════════════════
  </code></pre>
  <p>homescreen.dart</p>
  <pre><code>                  Padding(
                      padding: EdgeInsets.only(
                          left: 16, bottom: 13, top: 29, right: 10),
                      child: Row(
                        mainAxisAlignment: MainAxisAlignment.spaceBetween,
                        children: &lt;Widget&gt;[
                          Text(
                            &quot;Operation&quot;,
                            style: GoogleFonts.inter(
                                fontSize: 16,
                                fontWeight: FontWeight.w300,
                                color: kBlackColor),
                          ),
                          Row(
                            children: map&lt;Widget&gt;(operation, (index, selected) {
                              return Container(
                                alignment: Alignment.centerLeft,
                                height: 9,
                                width: 9,
                                margin: EdgeInsets.only(right: 6),
                                decoration: BoxDecoration(
                                    shape: BoxShape.circle,
                                    color: current == index
                                        ? kBlueColor
                                        : kTwentyBlueColor),
                              );
                            }),
                          )
                        ],
                      ),
                    ),
                    Container(
                      height: 123,
                      child: ListView.builder(
                          itemCount: operation.length,
                          padding: EdgeInsets.only(left: 16),
                          scrollDirection: Axis.horizontal,
                          itemBuilder: (context, index) {
                            return GestureDetector(
                              onTap: () {
                                setState(() {
                                  current = index;
                                });
                              },
                              child: OperationCard(
                                  operation: operation[index].name,
                                  selectedItem: operation[index].selectedItem,
                                  unselectedItem: operation[index].unselectedItem,
                                  isSelected: current == index,
                                  context: this),
                            );
                          }),
                    )
  </code></pre>
  <p>operation.dart (model)</p>
  <pre><code>class OperationModel {
    String name;
    String selectedItem;
    String unselectedItem;
  
    OperationModel(this.name, this.selectedItem, this.unselectedItem);
  }
  
  List&lt;OperationModel&gt; operation = operationData
      .map(
        (item) =&gt; OperationModel(
            item['name'], item['selectedItem'], item['unselectedItem']),  // ERROR IS HERE
      )
      .toList();
  
  List&lt;Map&lt;String, dynamic&gt;&gt; operationData = [
    {
      &quot;name&quot;: &quot;Money\nTransfer&quot;,
      &quot;selectedItem&quot;: &quot;assets/svg/money_transfer_white.svg&quot;,
      &quot;unselectedItem&quot;: &quot;assets/svg/money_transfer_blue.svg&quot;
    },
    {
      &quot;name&quot;: &quot;Bank\nWithdraw&quot;,
      &quot;selectedItem&quot;: &quot;assets/svg/bank_withdraw_white.svg&quot;,
      &quot;unselectedIcon&quot;: &quot;assets/svg/bank_withdraw_blue.svg&quot;
    },
    {
      &quot;name&quot;: &quot;Insight\nTracking&quot;,
      &quot;selectedItem&quot;: &quot;assets/svg/insight_tracking_white.svg&quot;,
      &quot;unselectedItem&quot;: &quot;assets/svg/insight_tracking_blue.svg&quot;
    },
  ];
  </code></pre>
  <p>OperationCard (class)</p>
  <pre><code>class OperationCard extends StatefulWidget {
    final String operation;
    final String selectedItem;
    final String unselectedItem;
    final bool isSelected;
    _HomeScreenState context;
  
    OperationCard(
        {required this.operation,
        required this.selectedItem,
        required this.unselectedItem,
        required this.isSelected,
        required this.context});
    @override
    _OperationCardState createState() =&gt; _OperationCardState();
  }
  
  class _OperationCardState extends State&lt;OperationCard&gt; {
    @override
    Widget build(BuildContext context) {
      return Container(
        margin: EdgeInsets.only(right: 16),
        width: 123,
        height: 123,
        decoration: BoxDecoration(
            boxShadow: [
              BoxShadow(
                  color: kTenBlackColor,
                  blurRadius: 10,
                  spreadRadius: 5,
                  offset: Offset(8.0, 8.0))
            ],
            borderRadius: BorderRadius.circular(15),
            color: widget.isSelected ? kBlueColor : kWhiteColor),
        child: Column(
          crossAxisAlignment: CrossAxisAlignment.center,
          mainAxisAlignment: MainAxisAlignment.center,
          children: &lt;Widget&gt;[
            SvgPicture.asset(
                widget.isSelected ? widget.selectedItem : widget.unselectedItem),
            SizedBox(
              height: 9,
            ),
            Text(
              widget.operation,
              textAlign: TextAlign.center,
              style: GoogleFonts.inter(
                  fontSize: 15,
                  fontWeight: FontWeight.w700,
                  color: widget.isSelected ? kBlueColor : kWhiteColor),
            )
          ],
        ),
      );
    }
  }
  </code></pre>
  <p>This error should fixed shortly, because I can't continue in this project. PLEASE HELP ME!! :):):):)</p>