Полагаю, вы можете использовать небольшой компонент-обертку:
type Omit<T, K> = Pick<T, Exclude<keyof T, K>>;
function cannedQuery<TData, TVariables>(query: DocumentNode) {
return (props: Omit<QueryProps<TData, TVariables>, "query">) =>
<Query query={query} {...props}/>;
}
const MyQuery = cannedQuery<TData, TVariables>(gql`...`);
Я не знаком с react-apollo
, поэтому, если это не сработает, дайте мне знать, что идет не так, и яможет быть в состоянии придумать что-то еще.Мне кажется, что все, кто использует react-apollo
с TypeScript, хотели бы этого, поэтому вы можете предложить добавить этого помощника в react-apollo
.