So the builder is properly rebuilt on changing the future if you trigger the change with setState. The problem is, the hasData and hasError aren’t reset until the response is back. But we can use connectionState instead. You can refresh the widget by clicking on FlatButton .2 May 2021