定义了这样三个接口
export interface Response<T> {
message: string
result: Pagenation<T> | T
}
export interface Pagenation<T> {
page: number
pageSize: number
total: number
items: T[]
}
export interface AuthEntity {
accessToken: string
admin: Admin
flatMenus: Menu[]
treeMenus: Menu[]
}
但是在调用的时候发生问题,ts不知道我指向的是谁,怎么判断 我的对象是T还是Pagenation<T>
const data:Response<AuthEntity> = yield call(getAuth, action.username, action.password)
let authPath: string[] = []
// 这里ts 提示找不到flatMenus
const flatMenus: Menu[] = data.result.flatMenus
这里应该怎么让ts能够知道我使用的是哪个
关于你这个情况下的类型定义,给你个示例。
下面是代码,也可以直接去 Typescript Playground 看语法检查结果