Using the FutureBuilder to let Flutter manage your Futures
The pattern of retrieving some data asynchronously and updating the user interface based on that data is quite common. So common in fact that in Flutter, there is a widget that helps you remove some of the boilerplate code you need to build the UI based on Futures: it's the FutureBuilder
widget.
You can use a FutureBuilder
to integrate Futures within a widget tree that automatically updates its content when the Future
updates. As a FutureBuilder
builds itself based on the status of a Future, you can skip the setState
instruction, and Flutter will only rebuild the part of the user interface that needs updating.
FutureBuilder
implements reactive programming, as it will take care of updating the user interface as soon as data is retrieved, and this is probably the main reason why you should use it in your code: it's an easy way for the UI to react to data in a Future
.
FutureBuilder
requires a future
property, containing...