Flutter 在显示简单文本的flatter小部件中获取stackoverflow错误

Flutter 在显示简单文本的flatter小部件中获取stackoverflow错误,flutter,dart,flutter-layout,Flutter,Dart,Flutter Layout,我制作了一个以字符串作为参数的小部件,并用一个特例显示它 这是小部件: class Hometext extends StatelessWidget { final Size size; final String text; final bool islogin; Hometext({@required this.size, @required this.text, @required this.islogin}); @override Widget build(Bui

我制作了一个以字符串作为参数的小部件,并用一个特例显示它

这是小部件:

class Hometext extends StatelessWidget {
  final Size size;
  final String text;
  final bool islogin;
  Hometext({@required this.size, @required this.text, @required this.islogin});

  @override
  Widget build(BuildContext context) {
    return Container(
      margin: EdgeInsets.only(
        top: islogin ? size.height * 0.06 : size.height * 0.03,
        left: size.width * 0.05,
      ),
      child: Row(
        children: [
          Text(
            text,
            style: TextStyle(
              color: Data().colorslist['black'],
              fontSize: 30,
              fontWeight: islogin ? FontWeight.bold : FontWeight.normal,
            ),
          ),
          Container(
            width: size.width * 0.08,
            height: size.height * 0.02,
            decoration: BoxDecoration(
              shape: BoxShape.circle,
              color: Data().colorslist['darkgreen'],
            ),
          ),
        ],
      ),
    );
  }
}
当使用这个小部件时,调试控制台给了我一个StackOverflow错误,它给了我这个错误,因为我的应用程序中有很多小部件,我不知道为什么它使我的应用程序崩溃了几个星期,我也不知道该怎么处理它

这是一个错误:

Stack Overflow

The relevant error-causing widget was
Hometext
lib\screens\wholescreen.dart:31
#1      _LinkedHashMapMixin._init (dart:collection-patch/compact_hash.dart:217:18)
#2      _LinkedHashMapMixin._rehash (dart:collection-patch/compact_hash.dart:199:7)
#3      _LinkedHashMapMixin._insert (dart:collection-patch/compact_hash.dart:247:7)
#4      _LinkedHashMapMixin.[]= (dart:collection-patch/compact_hash.dart:296:7)
...
════════════════════════════════════════════════════════════════════════════════
数据类:

class Data {
  Map colorslist = {
    'black': Color.fromRGBO(10, 9, 8, 1),
    'darkgreen': Color.fromRGBO(34, 51, 59, 1),
    'offwhite': Color.fromRGBO(234, 224, 213, 1),
  };

  List pageviewdata = [
    'lib/assets/pageview1.jpg',
    'lib/assets/pageview2.jpg',
    'lib/assets/pageview3.jpg',
  ];

  List pageviewnumbers = [0, 1, 2];

  List categories = [
    Categories(name: 'Health&Beuty', image: 'lib/assets/health&beuty.jpg'),
    Categories(name: 'Books', image: 'lib/assets/books.jpg'),
    Categories(name: 'Fashion', image: 'lib/assets/fashion.jpg'),
    Categories(name: 'Electronics', image: 'lib/assets/electronics.jpg'),
  ];

  List<Drawerlisttile> drawerlisttile = [
    Drawerlisttile(name: 'Home', icon: Icon(Icons.home,color: Data().colorslist['offwhite'])),
    Drawerlisttile(name: 'Cartlist', icon: Icon(Icons.shopping_cart,color: Data().colorslist['offwhite'])),
    Drawerlisttile(name: 'Orders', icon: Icon(Icons.shopping_bag_rounded,color: Data().colorslist['offwhite'])),
    Drawerlisttile(name: 'Settings', icon: Icon(Icons.settings,color: Data().colorslist['offwhite'])),
  ];
}
类数据{
映射颜色列表={
“黑色”:颜色。来自RGBO(10,9,8,1),
“暗绿色”:颜色。来自RGBO(34,51,59,1),
“灰白色”:颜色。来自RGBO(234224213,1),
};
列表页面视图数据=[
'lib/assets/pageview1.jpg',
'lib/assets/pageview2.jpg',
'lib/assets/pageview3.jpg',
];
列表PageViewNumber=[0,1,2];
列表类别=[
类别(名称:“Health&Beuty”,图像:“lib/assets/Health&Beuty.jpg”),
类别(名称:“Books”,图像:“lib/assets/Books.jpg”),
类别(名称:“Fashion”,图像:“lib/assets/Fashion.jpg”),
类别(名称:“Electronics”,图像:“lib/assets/Electronics.jpg”),
];
列表抽屉列表磁贴=[
抽屉列表(名称:'Home',图标:icon(Icons.Home,color:Data().colorslist['offwhite']),
抽屉列表(名称:'Cartlist',图标:icon(Icons.shopping_cart,color:Data().colorslist['offwhite']),
抽屉列表(名称:'Orders',图标:icon(Icons.shopping_-bag_-round,color:Data().colorslist['offwhite']),
抽屉列表(名称:'Settings',图标:icon(Icons.Settings,color:Data().colorslist['offwhite']),
];
}

制作
颜色列表
静态内部
数据

当您使用
Data()
创建它的实例时,将实例化一个
drawerlistile
,它将创建
Data()

换句话说,创建
数据
会创建
数据
的多个实例,从而导致溢出

类数据{
静态贴图颜色列表={
“黑色”:颜色。来自RGBO(10,9,8,1),
“暗绿色”:颜色。来自RGBO(34,51,59,1),
“灰白色”:颜色。来自RGBO(234224213,1),
};
列表抽屉列表磁贴=[
抽屉列表(名称:'Home',图标:icon(Icons.Home,颜色:Data.colorslist['offwhite']),
抽屉列表(名称:'Cartlist',图标:icon(Icons.shopping_cart,颜色:Data.colorslist['offwhite']),
抽屉列表(名称:“订单”,图标:图标(图标。购物袋,颜色:数据。颜色列表['offwhite')),
抽屉列表(名称:“设置”,图标:图标(图标。设置,颜色:数据。颜色列表['offwhite']),
];
}

你能添加
数据吗
代码?我已经添加了它,非常感谢它的有效性