Flutter Hooks - useState initial value

3.2k views Asked by At

I just started using Flutter Hooks and have been trying to understand how I would initialize a useState hook with a value that is retrieved asynchronously? In my case, from SharedPreferences

Normally you would say final boolValue = useState(false)

In my case I need to first evaluate a Future<bool> then set my subsequent call like final boolVal = useState(async value)

how can I achieve this using hooks, would I have to resolve the value before entering this widget and simply pass it down?

1

There are 1 answers

1
hyobbb On BEST ANSWER

How about using HookBuilder?

final future = useMemoized(()=> someAsyncFunction());
final snapshot = useFuture(future);

...

if(snapshot.hasData){
   return HookBuilder(
    builder : (_) {
      final state = useState(snapshot.data);
      //... return widget using state.value
    })

}