[英]Typescript property does not exist on type
我收到了兩個 list.item 引用的錯誤:client_1 | TS2339:屬性“items”在類型“List”上不存在。
這是一些相關的代碼。 如何在不將其設置為任何的情況下解決此問題?
export interface List {
createdAt: number;
id: string;
items: Array<ToDo>;
updatedAt: number;
}
const emptyList = { createdAt: 0, id: '', items: [], updatedAt: 0 }
...
const [list, setList] = useState<List>(emptyList)
...
const filterList = <List extends any>(list: List) => {
if (activeFilter === 'All') {
return setFilteredTodos(list.items)
}
setFilteredTodos(list.items.filter((todo: ToDo) => todo.completed === filterMap[activeFilter as keyof object] as {}))
}
在 function 之前編寫<List extends any>
定義了一個泛型類型參數,在箭頭filterList
上具有(新)名稱List
。
為了更清楚,您的代碼等效於:
const filterList = <T extends any>(list: T) => { ... }
由於您可能想使用上面的類型List
,因此您應該從分配給 filterList 的filterList
中刪除<List extends any>
:
const filterList = (list: List) => { ... }
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.