我有以下通用函数,我想用< T >替换任何函数。
export const deleteFile = async (item: any, propName: string) => {
const url = item[propName];
await deleteFileByUrl(url);
return omit<any>(item, propName);
};
Run Code Online (Sandbox Code Playgroud)
我很难定义一个具有 [propName]: string 属性的 T,然后返回一个没有该属性的类型 T。
将解构与Omit类型相结合,您可以执行以下操作:
export const deleteProperty = <T, K extends keyof T>(obj: T, id: K): Omit<T, K> => {
const { [id]: _, ...newState } = obj;
return newState;
};
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
847 次 |
| 最近记录: |