export interface PageModelParams {
pageIndex: number
pageSize: number
}
export default function usePageModel<T extends Object, P extends PageModelParams = PageModelParams>(
path: string,
_params: P,
) {
const [data, setData] = useState<T[]>([])
const [params, setParams] = useState<P>(_params)
/**
* 拉数据
*/
useEffect(
function() {
request
.get<T[]>(path, {
params,
})
.then(setData)
},
[params, path],
)
return {
data,
setParams,
}
}
其中_params参数我想做成可选的,如果没有就用一个PageModelParams作为默认值
但是改为可选参数之后会显示'P' could be instantiated with a different subtype of constraint 'PageModelParams'