Flutter getter导致超过最大调用堆栈大小
我有以下小部件:Flutter getter导致超过最大调用堆栈大小,flutter,dart,Flutter,Dart,我有以下小部件: class VennDiagramWidget extends StatefulWidget { VennDiagramWidget(selectedGeneLists); List<GenesListObjIndexed> get selectedGeneLists => this.selectedGeneLists; @override _VennState createState() => _VennState(); } cl
class VennDiagramWidget extends StatefulWidget {
VennDiagramWidget(selectedGeneLists);
List<GenesListObjIndexed> get selectedGeneLists => this.selectedGeneLists;
@override
_VennState createState() => _VennState();
}
class _VennState extends State<VennDiagramWidget> {
List<GenesListObjIndexed> _selectedGeneLists;
@override
initState() {
_selectedGeneLists = widget.selectedGeneLists;
}
我在这一行上得到并错误地超过了最大调用堆栈大小
:
\u selectedGeneLists=widget.selectedGeneLists代码>内部initState
据我所知,这段代码应该使用我在第二个代码段中指定的SelectedGeneList
来构造类VennDiagramWidget
,当我调用这个类的getter时,我应该得到完全相同的变量。
我做错了什么?问题是,当你调用getterselectedGeneLists
时,它又在调用自己
//调用自身⬇
获取SelectedGeneList=>this.SelectedGeneList;
您需要在widget类中声明selectedGeneLists
变量
这应该行得通
classvenndiagramwidget扩展StatefulWidget{
最终选定的基因列表;
VennDiagramWidget(此.selectedGeneList);
@凌驾
_VennState createState()=>\u VennState();
}
或者,如果您想要变量private
classvenndiagramwidget扩展StatefulWidget{
最终选定的基因列表;
VennDiagramWidget(此.\u SelectedGeneList);
List get selectedGeneLists=>此项。\u selectedGeneLists;
@凌驾
_VennState createState()=>\u VennState();
}
问题是,当您调用getterselectedGeneList时,它又在调用自身
//调用自身⬇
获取SelectedGeneList=>this.SelectedGeneList;
您需要在widget类中声明selectedGeneLists
变量
这应该行得通
classvenndiagramwidget扩展StatefulWidget{
最终选定的基因列表;
VennDiagramWidget(此.selectedGeneList);
@凌驾
_VennState createState()=>\u VennState();
}
或者,如果您想要变量private
classvenndiagramwidget扩展StatefulWidget{
最终选定的基因列表;
VennDiagramWidget(此.\u SelectedGeneList);
List get selectedGeneLists=>此项。\u selectedGeneLists;
@凌驾
_VennState createState()=>\u VennState();
}
.
.
.
Navigator.of(context).push(MaterialPageRoute(
builder: (context) => VennDiagramWidget(selectedGeneLists)));