TypeScript错误不会满足

时间:2017-09-21 22:11:55

标签: reactjs typescript spfx typescript-2.5

我正在使用TypeScript 2.5.2。 我已经尝试降级到TypeScript 2.2.2,相同的代码已经在另一个项目上工作。

**错误: 档案:Weather.tsx' 严重性:'错误' 信息: '类型的参数'(响应:IListItem)=>空隙'不能分配给类型的参数 '(价值:{天气:IListItem;})=>无效| PromiseLike&#39 ;.   参数类型'响应'和'价值'是不相容的。

输入' {天气:IListItem; }'没有与类型' IListItem'。' **

相同的属性

语法有什么问题?

GitHub

上的源代码

VSCode Screenshot

1 个答案:

答案 0 :(得分:2)

仅查看这些类型而不是代码的其余部分:.then((response: HttpClientResponse): Promise<{weather: IListItem}>中的type参数指定响应是具有weather类型IListItem属性的对象,而不是IListItem所期望的.then((response: IListItem): void => {,这解释了类型错误。

如果api响应确实是一个对象,您可以将后者更改为.then((response: {weather: IListItem})并将.weather添加到正文中response的每个外观中(或者甚至简单地在没有类型的情况下进行解构注释:then(({weather}): void => {并使用weather代替response。)

另一方面,如果api只返回IListItem,您可以将前者更改为.then((response: HttpClientResponse): Promise<IListItem> => {