I Found this answer
Here is the correct way to receive the data from the previous screen
From Screen B
Navigator.pop(context,"Pass your data here");
In Screen A
String results;
var receiedValue =await Navigator.push(
context,
MaterialPageRoute(builder: (context) => ScreenB()),
);
// How do I refresh the widget here to fetch updated data?
setState(){
results = receiedValue;
}