How to Initialize a Future So FutureBuilder Doesn't Recreate It on Every Rebuild in Flutter
FutureBuilder re-runs your async work every time the parent rebuilds because you created the Future inside build. Hoist it into State.initState (or memoize it), and FutureBuilder will reuse the same Future. Here is the why, the repro, and every variant that bites.