试图修改我的axios Package 器,无法弄清楚为什么我得到这个 typescript 错误...
type Headers = {
Accept: string;
'Content-Type': string;
Authorization?: string;
}
export interface AxiosOptions {
params?: any;
data?: any;
headers: Headers;
}
const axiosOptions: AxiosOptions = {
headers: {
Accept: 'application/json',
'Content-Type': 'application/json',
},
};
export const updateAxiosOptionsHeaders = (
key: Pick<Headers, "Accept" | "Content-Type" | "Authorization">,
value: string
): void => {
axiosOptions.headers[key] = value;
}
1条答案
按热度按时间cqoc49vn1#
这并不真正符合
Pick
的使用模式。你只需要keyof Headers
就可以了:Playground链接
如果你的对象中也有不同的值类型(对于headers对象来说似乎不太可能),你可以使用一个通用约束: