TypeScript 函數泛型參數在函數變數中 `找不到名稱 'React'`
如何在變數函數中撰寫這個具有泛型參數的 TypeScript 函數(將函數存儲在變數中)?
function identity<T>(arg: T): T {
return arg;
}
我試了這個,但是它報錯 找不到名稱 'React'
const identity = <T>(arg: T): T => {
return arg;
}
答案#1
假設你指的是 Cannot find name 'React'. 的錯誤,那是因為 TypeScript 嘗試將 <T>.. 解析為 React 元素。你可以在泛型參數後面加上逗號來防止這種情況:<T> ~> <T,>
const identity = <T,>(arg: T): T => {
return arg;
}
TypeScript 遊樂場
或者,你可以添加一個虛擬的 extends 子句,例如 <T extends {}>,但是 <T,> 是最清潔的解決方案。
