我正在创建一个无限滚动listView,并且我想使用N
函数中的setState将_loadingState
字符串从'loading ...'更改为'loaded',但是当调用_loadNames时从_loadNames
中,我得到“在构建错误期间调用setState”。使用RefreshIndicator可以正常工作并更新项目,但滚动到底部会导致错误。我如何能够从ListViews构建器中调用_loadNames而不会出现错误或可以使用其他什么方法。
注意:不想使用redux或bloc。
itemBuilder
答案 0 :(得分:4)
更改_loadNames() {
到
_loadNames(){
loading = true;
// setState(() {
_loadingState = 'loading...';
// });
和
onRefresh: (){
_loadNames();
return null;
},
到
onRefresh: (){
setState(() => _loadNames());
},
更新
_loadNames(){
loading = true;
new Future.delayed(Duration.zero, () => setState(() {
_loadingState = 'loading...';
}));