Я использую apollo-client
в проекте реагирования для управления состоянием пользовательского интерфейса. Я определяю тип схемы для мутации apollo, но она не работает.
Ниже описано, как создать экземпляр apollo client
.
const cache = new InMemoryCache();
export const createClient = () => {
return new ApolloClient({
cache,
resolvers: {
Mutation: {
...alertResolvers
},
},
typeDefs: [alertTypeDefs]
});
};
Ниже кода приведено определение схемы типа. Как видите, я создал showErrorAlert
тип возврата Alert
.
export const alertTypeDefs = gql`
type Alert {
id: ID!
message: String!
type: String!
duration: Int!
}
extend type Mutation {
showErrorAlert(message: String!): Alert
}
`;
Я использую приведенный ниже код для отправки мутации. Как вы можете видеть, он не возвращает duration
в возвращаемом объекте. Но приложение работает без ошибок. Кажется, что тип не влияет на приложение.
gql`
mutation showErrorAlert($message: String!) {
showErrorAlert(message: $message) @client {
id
message
type
}
}
`;