[Bug]: useHooks的`update`类型错误
JOU-amjs opened this issue · 1 comments
JOU-amjs commented
这是否是一个 Bug?
- 我已经确认我要报告的是一个 Bug
这个问题是否已经存在?
- 我已经确认这个 Issue 没有被报告过
Alova 版本
3.0.0-beta.6
前端框架
React
问题描述
const {
// ...
update
} = usePagination((page, pageSize) => queryStudents(page, pageSize, studentName, clsName), {
watchingStates: [studentName, clsName],
initialData: { total: 0, list: [] },
debounce: [800],
abortLast: true,
total: res => res.total,
data: res => res.list
});
其中update
的类型是undefined
和any
组成,没有正确推断。
期望的表现
与导出类型的数据值相同
复现链接
https://github.com/alovajs/alova/blob/chore/demo/examples/react/src/views/PaginatedList/index.jsx
复现步骤
无
系统信息
No response
补充说明
No response
MeetinaXD commented
似乎是因为StateUpdater中的推断出现了问题,推出了 never。
alova/typings/clienthook/general.d.ts#L64
将此处改为:
export type StateUpdater<ExportedStates extends Record<string, any>> = (newStates: {
[K in keyof ExportedStates]?: ExportedStates[K] extends ExportedState<infer R, any> | ExportedComputed<infer R, any>
? R
: ExportedStates[K];
}) => void;
可以解决该问题。