TIP
不推荐使用reactive()
的泛型参数,因为处理了深层次ref
解包的返回值与泛型参数的类型不同。
这段时间总算是得空可以把早些时候快速开发时期挖的坑填一下了,所以准备着手改造一下前人遗留下来的 useTable
这个组合式函数。
期望可以在使用 useTable
的时候可以正确推导出来 tableData
和 queryParams
对应的数据类型。
一开始的改造非常顺利,使用泛型可以正确的推导出来我需求的属性类型,直到我遇到了下面这两个TS告警:
Cannot assign type 'T[]' to type 'UnwrapRefSimple<T>[]'. ts(2322)
不能将类型“T[]”分配给类型“UnwrapRefSimple<T>[]”。ts(2322)
Argument of type 'T' is not assignable to parameter of type 'UnwrapRefSimple<T>'.ts(2345)
类型“T”的参数不能赋给类型“UnwrapRefSimple<T>”的参数。ts(2345)
当然可以选择简单暴力的使用 as
来解决这个问题,但是我总觉得是不是有一些其他更好的方式来解决。