1

我刚开始使用 Flutter Hooks,并且一直在尝试了解如何useState使用异步检索的值初始化钩子?就我而言,从SharedPreferences

通常你会说final boolValue = useState(false)

在我的情况下,我需要先评估 aFuture<bool>然后设置我的后续调用final boolVal = useState(async value)

我如何使用钩子来实现这一点,我是否必须在输入此小部件之前解析该值并简单地将其传递下去?

4

1 回答 1

2

使用 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
    })

}
于 2021-03-08T14:50:47.680 回答