TypeScript TS2322 错误与 TypeScript 3.8.2 相关
作者: pschoffer创建于 2020年2月23日更新于 2020年7月14日
预期结果:
在将 TypeScript 升级到 3.8.2 后,我开始收到编译错误:
TS2322: Type '({ data, loading, error }: { data: any; loading: any; error: any; }) => Element' is not assignable to type '(result: QueryResult<any, Record<string, any>>) => Element'.
Types of parameters '__0' and 'result' are incompatible.
Type 'QueryResult<any, Record<string, any>>' is not assignable to type '{ data: any; loading: any; error: any; }'.
Property 'error' is optional in type 'QueryResult<any, Record<string, any>>' but required in type '{ data: any; loading: any; error: any; }'.我还先在 Stack Overflow 上提问过。那里的好人提到 TypeScript ^3.8 更加严格,可能有某些事情可以做来使编译工作起来。以下是我在代码中的示例用法:
<Query query={validateTokenQuery}>
{({ data, loading, error }) => {
}}
</Query>实际结果:
项目编译成功
内容来源: apollographql/react-apollo