问题描述
当使用来自 API 的响应时显示错误 getter 'length' 被调用为 null。 接收器:空 尝试调用:长度 这是我的 API 代码
var url =
"https://domain.PHP";
var res;
var splashs;
void initState() {
super.initState();
fetchData();
}
fetchData() async {
res = await http.get(url);
splashs = jsonDecode(res.body);
setState(() {});
}
使用 List 后代码正常运行
List<Map<String,String>> splashs = [
{
"header": "Flatros","text": "Welcome to Flatros,Let’s shop!","image_name": "assets/images/splash_1.png"
},{
"header": "Shopping","text":
"We help people conect with store \naround United State of America","image_name": "assets/images/splash_2.png"
},{
"header": "Multi Category","text": "FInal Screen","image_name": "assets/images/splash_3.png"
},];
解决方法
您可能需要将数据转换为 List
或 Array
List splashs = new List();
fetchData() async {
res = await http.get(url);
final data = jsonDecode(res.body);
for (var i in data) {
splashs.add(i); // Create a list and add data one by one
}
setState(() {});
}