Я использую машинопись в проекте React с использованием клиента Apollo, у меня есть простая форма обновления клиента, которая требует изменения внутри запроса для получения данных клиента для отображения из его / ее идентификатора, который я создал (согласно Apollo Документация по машинописи) специализированный объект запроса для этого,
//---------------------------------------------------------------------------------
// Imports Section (React/Apollo Libs)
//---------------------------------------------------------------------------------
import { gql } from 'apollo-boost';
import { Query } from 'react-apollo'
import { getCustomerById } from '../../typeDefs/operations/getCustomerById'
import { getCustomerByIdVariables } from '../../typeDefs/operations/getCustomerById'
//---------------------------------------------------------------------------------
// GQL Query: Customers
//---------------------------------------------------------------------------------
export const Q_GET_CUSTOMER_BY_ID = gql`
query getCustomerById($id: ID) {
getCustomer(id: $id)
{
first_name
last_name
company
emails {
email
}
age
type
}
}
`;
//---------------------------------------------------------------------------------
// Query Class: Customers
//---------------------------------------------------------------------------------
export class QueryGetCustomerById extends Query<getCustomerById, getCustomerByIdVariables> { }
Все работает, как и ожидалось ... до тех пор, пока снова не войдет в представление "Изменить клиента" после изменения, где данные кажутся неизменными (это, очевидно, из-за Apollo Cache), при попытке использовать опцию "refetchQuery" в <QueryGetCustomerById>
Typescript отправляет странную ошибку в мое окно VSCode.
Читая документацию Apollo Typescript (очень не хватает IMHO), я обнаружил, что во втором примере есть ссылка на объект ChildProps, теперь я не уверен, должен ли я объявить или создать другой интерфейс для QueryGetCustomerById
, чтобы собрать их вместе с ответом и переменными. Честно говоря, я совершенно сбит с толку, если кто-то пробовал это или знает, как это осуществить, помогите. Большое спасибо.
P.S. Использование более общей версии <Query<getCustomerById, getCustomerByIdVariables> ...
также не работает.