Я использую GitHub Graphql API, и я написал следующий код с response-apollo, но когда я разбиваю страницы на страницы после многих запросов, я получаю следующие ошибки в консоли.
Вы используете простое (эвристическое) совпадение фрагментов, но ваши запросы содержат типы объединения или интерфейса.Клиент Apollo не сможет точно отобразить фрагменты.Чтобы устранить эту ошибку, используйте IntrospectionFragmentMatcher
, как описано в документации: https://www.apollographql.com/docs/react/recipes/fragment-matching.html
.
ПРЕДУПРЕЖДЕНИЕ: происходит эвристическое сопоставление фрагментов!
.
Отсутствует имя поля в {"__typename": "Organization"}
Отсутствует поле avatarUrl в {"__typename": "Organization"}
Отсутствуют репозитории полей в {"__typename": "Organization"}
, и я написал следующие коды:
gql`
query($username: String!, $nextPage: String) {
search(query: $username, type: USER, first: 100, after: $nextPage) {
pageInfo {
hasNextPage
endCursor
}
edges {
node {
... on User {
name
avatarUrl
repositories {
totalCount
}
}
}
}
}
}
`;
handleSubmit = ({ username }) => {
const { client } = this.props;
this.setState({
loading: true,
searchTerm: username,
});
client
.query({
query: SEARCH_USER,
variables: {
username
}
})
.then(({ data }) => {
this.setState({
loading: false,
searchList: data.search.edges,
pagination: data.search.pageInfo,
});
})
.catch(err => {
console.warn(err);
});
};