我有一種型別,我需要陣列的一部分是通用的,但是無論我在陣列的那一部分中傳遞什么,編譯器都會失敗。
export type ErrorFirstArray<Response> = [SanitisedError | null, Response | null | undefined];
export type HandleResponse = <Response>(
response: AxiosResponse
) => ErrorFirstArray<Response>;
const handleResponse: HandleResponse = () => {
return [null, 'foo']; // <--- doesn't like the string here
}
型別“字串”不可分配給型別“回應 | 空 | 不明確的'
有沒有更好的定義方式ErrorFirstArray?
uj5u.com熱心網友回復:
HandleResponse是一個泛型函式,這意味著型別引數由呼叫者決定,而不是定義。您可能需要一個泛型型別,即一個函式:
export type ErrorFirstArray<Response> = [SanitisedError | null, Response | null | undefined];
export type HandleResponse<Response> = (
response: AxiosResponse
) => ErrorFirstArray<Response>;
const handleResponse: HandleResponse<string> = () => {
return [null, 'foo'];
}
游樂場鏈接
您可能會發現此視頻對更多解釋很有用
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/479149.html
標籤:打字稿
上一篇:鍵入toPrimitives界面
