颤振如何通过数据从一个屏幕到另一个,如果我需要它之前的BuildContext?



我想发送一个具有特定id的请求,但我只能在构建小部件

中从上一个屏幕接收到id后才能获得id
void gettingTime() async {
final response = await http.get(
Uri.parse('http://192.168.1.11/Backend/dateValide.php?id=$id'),);
print("StatusCodeDetail== ${response.statusCode}");
if (response.statusCode == 200 || response.statusCode == 201) {
setState(() {
dataListTime = json.decode(response.body); //we store the json data in a list
print("RESPONSE${response.body}");
});
}
else {
print("Error in loading from the server");
}
}

@override

void initState() {
gettingTime();
super.initState();
}
@override
Widget build(BuildContext context) {
dataMap=ModalRoute.of(context)?.settings.arguments as Map;//We recieve the data as a Map from the home screen
String id=dataMap["previousScreenData"]["ID_EXCURSION"];

使用router

将id作为小部件构造函数的参数传递编辑:你并没有真正问一个问题,所以我回答说:"我怎么能把数据从一个屏幕传递到另一个屏幕,如果我需要它之前BuildContext是已知的?"希望有帮助:-)

相关内容