我正在尝试在json
中返回一个Flutter
字符串。我正在使用print
函数在控制台中显示输出。但是我的代码两次返回String
。这是我的代码:
import 'package:flutter/material.dart';
import 'dart:convert';
import 'package:http/http.dart' as http;
void main() => runApp(new HomePage());
class HomePage extends StatelessWidget {
Future<http.Response> fetchPost() async{
return await http.get('https://api.npoint.io/8c7aafe809d73af5f2b9');
}
void Data() async {
var jsonString = await fetchPost();
print(jsonString.body);
}
@override
Widget build(BuildContext context) {
Data();
return new MaterialApp(
home: new Center(
child: new Text('Data'),
),
);
}
}
答案 0 :(得分:1)
两次调用build方法,导致再次调用整个小部件。考虑将StatelessWidget
转换为StatefulWidget
并在其中添加http调用方法
@overridde
initState() {
your code
}