我使用graphql
函数HOC进行了组合查询和变异,我试图弄清楚如何键入变异以及mutate
函数应具有的类型。 React Apollo文档中的所有示例都是特定于查询的。我的代码如下。我在确定any
组件props定义中要替换为List
的内容时特别麻烦。
type ChildQueryProps = ChildDataProps<
GetPersonQueryInputProps,
API.GetPersonQuery,
API.GetPersonQueryVariables
>;
type ChildMutationProps = ChildDataProps<
API.UpdatePersonInput,
API.GetPersonQuery,
API.GetPersonQueryVariables
>;
const List = ({ data: { loading, getPerson, error }, mutate }: any) => {
// do cool stuff here
};
export default compose(
graphql<
{},
API.GetPersonQuery,
API.GetPersonQueryVariables,
ChildQueryProps
>(gql(queries.getPerson),
{
options: props => ({
variables: {
id: props.id
},
fetchPolicy: 'network-only'
})
}
),
graphql<
API.UpdatePersonInput,
API.UpdatePersonMutation,
API.UpdatePersonMutationVariables,
ChildMutationProps
>(gql(mutations.updatePerson))
)(List);