我有一个graphql突变文件:
import gql from "graphql-tag";
import { graphql } from 'react-apollo';
import { SomeMutationVariables, SomeMutation } from "..schemaTypes"
const someMutation = gql`
mutation SomeMutation(
$something: String!
) {
createSome(
input: {
something: $something
}
)
}
`;
export interface NewPropsCreateSomething {
createSomething: ( variables: SomeMutationVariable ) => void;
}
export const withCreateSomething = graphql<
any,
SomeMutation,
SomeMutationVariable
NewPropsCreateSomething
>(createSomethingMutation, {
props: ({ mutate }) => ({
createSomething async variables => {
if (!mutate) {
return;
}
const response = await mutate({
variables
} );
console.log( "response", response )
}
})
});
我无法生成代码,因为我被抛出错误: “导出的变量'withCreateSomething'具有或正在使用来自外部模块“ /../../../../node_modules/@types/react/index”的名称'React.ComponentClass',但无法命名”
似乎graphql正在使用反应类型;我可以通过导入react来消除错误:
import * as React from 'react';
但是我当然会收到此错误: 已声明“ React”,但从不读取其值。
我知道此错误已在其他帖子中出现,但由于此文件没有任何特定于React的代码,所以我找不到此情况,除了类型错误之外,没有任何理由要导入React。
我尝试避免使用@ ts-ignore,但到目前为止,这是唯一允许进行构建的方法。
感谢任何提出优雅解决方案的指针。