typescript - 打字稿如何做嵌套的泛型类型
问题描述
我正在尝试实现以下目标:
type GenericPerson = {
name: string;
};
type GenericCompany<X extends GenericPerson> = {
companyName: string;
employees: X[];
};
const getEmployeeDetails = <T extends GenericPerson, Company extends GenericCompany<T>>(company: Company): T[] => {
return company.employees;
};
鉴于没有编译器警告,我假设getEmployeeDetails
确实会返回一个T
. 但是,当我尝试以下操作时:
const companyA = {
companyName: 'XYZ',
employees: [
{
name: 'John',
address: 'London',
},
{
name: 'David',
address: 'New York',
},
],
};
getEmployeeDetails(companyA).map((x) => {
console.log(x.address);
});
它根本不起作用,令人惊讶getEmployeeDetails
的是返回类型为GenericPerson[]
。
有人可以帮我解决我做错了什么吗?我怎样才能达到预期的结果
谢谢
解决方案
推荐阅读
- python - Python SQL 查询错误:TypeError:期望字符串或字节对象
- react-native - 没有组件屏幕渲染的标签栏导航
- nosql - 过滤嵌套数组项 CosmosDb
- python - 给 imshow 一个自定义的 yaxis 标签列表
- javascript - React:Prop 类型必须是函数,但接收对象
- css - 以叠加格式定位两个图像
- macos - 断开连接后,第二屏幕上的应用程序无法返回主屏幕
- angular - Angular Observables:如何优化订阅/订阅与异步
- r - 如何将森林图存储在要在 R 中调用的对象中?
- linux - 如何在 Linux 中将一个用户的变量传递给另一个用户?