【发布时间】:2019-12-05 10:08:08
【问题描述】:
我正在尝试从 API 获取数据。我收到错误“类型列表不是 Map 的子类型。我是新手,不明白我在哪里犯错。
这是我的获取帖子功能:
Future<Post> fetchPost() async {
final response = await http.get('http://starlord.hackerearth.com/beercraft');
if (response.statusCode == 200) {
return Post.fromJson(json.decode(response.body));
} else {
throw Exception('Failed to load post');
}
}
在我的主屏幕中,我正在使用这样的FutureBuilder:
final Future<Post> post;
HomeScreen({Key key, this.post}) : super(key: key);
FutureBuilder<Post>(
future: post,
builder: (context, result) {
if (result.hasData) {
return ListView.builder(
itemBuilder: (context, index){
return cartItemComponent(result.data.name, result.data.abv, result.data.ounces);
},
);
} else if (result.hasError) {
return Text("${result.error}");
}
// By default, show a loading spinner.
return CircularProgressIndicator();
},
如何解决此错误?提前致谢。
【问题讨论】: