【发布时间】:2019-10-28 18:12:52
【问题描述】:
我正在尝试从服务器获取数据,然后使用列表。
我发现了一个关于堆栈溢出的相关问题,并尝试在 set state 方法之前使用 mount 属性,但这似乎不起作用。
我已尝试用最少的代码重新创建错误。
import 'package:flutter/material.dart';
import 'package:http/http.dart' as http;
import 'dart:convert';
class Test extends StatefulWidget {
@override
Map<String, dynamic> timelist;
State<StatefulWidget> createState() {
// TODO: implement createState
return TestState();
}
}
class TestState extends State<Test> {
void initState() {
http
.get('https://workfeed-715b8.firebaseio.com/time.json')
.then((http.Response response) {
if (mounted) {
setState(() {
widget.timelist = json.decode(response.body);
print(widget.timelist);
});
}
});
// TODO: implement initState
super.initState();
}
@override
Widget build(BuildContext context) {
// TODO: implement build
return widget.timelist != null
? Column(
children: <Widget>[
Expanded(
child: ListView.builder(
itemCount: widget.timelist.length,
itemBuilder: (BuildContext context, int index) {
print('Hello');
print(widget.timelist.length);
}),
),
],
)
: Text('LOADING');
}
}
【问题讨论】: