我有一个钩子小部件与useValueChanged
监听器如下:
useValueChanged(selectedLayout.value, (_, __) {
changeLayout(selectedLayout.value);
});
和changeLayout(..)
使用useFuture(..)
进行图形突变调用并返回包裹在AsyncSnapshot
中的Future
在onTap
回调中修改如下:
onTap: () {
selectedLayout.value = "classic";
},
我的HookWidget抛出类型不匹配错误。任何方法使用useFuture()
和useValueChanged()
在同一个HookWidget?
Bad state: Type mismatch between hooks:
- previous hook: _ValueChangedHook<String, Null>
- new hook: _FutureHook<QueryResult>
我被困在useValueChanged
,但我有办法做到这一点。下面是代码:
useValueChanged(state, (_, __) {
return controller.animateTo(
min(controller.position.maxScrollExtent, controller.offset + 50.0),
duration: Duration(seconds: 10),
curve: Curves.linear);
});