将代码重构为单独的文件时,"TS2345: Argument of type is not assignable to parameter of type"



我是TypeScript的新手,我正在重构我的React应用程序。我得到了以下错误:

TS2345: Argument of type '{ standardHeaders: Headers; }' is not assignable to parameter of type 'RequestInit'.
Object literal may only specify known properties, and 'standardHeaders' does not exist in type 'RequestInit'.
这是我的原始代码,没有任何TypeScript错误:
const headers = new Headers({
Accept: 'application/vnd.api+json',
});
fetch(url, { headers })

然后我将头文件移动到一个单独的文件,因为它在几个地方使用:

globals.tsx

export const standardHeaders = new Headers({
Accept: 'application/vnd.api+json',
});

myfile.tsx

import { standardHeaders } from '../globals';
fetch(url, { standardHeaders })

这会导致类型不能赋值给参数"错误。

我假设我需要以某种方式设置standardHeaders的类型,但我该怎么做呢?

fetch的第二个有效参数是一个包含headers而不是standardHeaders的对象,所以只要你改变属性,它就会工作:

import { standardHeaders } from '../globals';
fetch(url, { headers: standardHeaders })

你的原始代码的变量名和属性是相同的headers,这就是为什么它正常工作

相关内容

  • 没有找到相关文章

最新更新