Перехватчики реакции Apollo Graphql Логическое значение всегда возвращает false

Обзор

Я использую @apollo/hooks в приложении react typescript и Hasura / Postgres в экземпляре aws ec2. Когда я делаю запрос к базе данных из реакции, все логические значения в одной таблице возвращаются как ложные. Выполнив тот же запрос в интерфейсе Hasura GraphiQL, я могу подтвердить в базе данных, что не все они ложны.

Подробнее

Я пытаюсь получить данные из простой таблицы postgres (без внешних ключей, ссылок на другие таблицы и т. Д.), В которой всего 6 полей:

id: number
hero_button_pointer: string
hero_button_text: string
hero_headline_text: string
hero_sub_headline_text: string
active: boolean

Когда я делаю этот запрос в интерфейсе Hasura GraphiQL

query GetAllHeroInfo {
  main_page_header(order_by: {id: asc}) {
    active
    hero_button_pointer
    hero_button_text
    hero_headline_text
    hero_sub_headline_text
    id
  }
}

он возвращает все значения правильно. Самое главное, что логические значения верны. У меня есть точно такой же запрос в моем приложении React:

export const GET_ALL_HERO_INFO = gql`
  query GetAllHeroInfo {
    main_page_header(order_by: { id: asc }) {
      active
      hero_button_text
      hero_headline_text
      hero_sub_headline_text
      id
      hero_button_pointer
    }
  }
`;

Большая проблема

В своем компоненте я использую перехватчик useQuery:

import { GET_ALL_HERO_INFO } from "../../graphQL/queries";

const MyComponent: React.FC<Props> = () => {

  const { loading, error, data: heroData } = useQuery(GET_ALL_HERO_INFO);
  console.log(heroData) //everything logs correctly, except boolean values are all false

  return (
    // the component
  )
};

и когда я console.log(heroData) или пытаюсь использовать данные каким-либо образом, все логические значения равны false, хотя я могу видеть в базе данных, что они истинны. Я обновил некоторые другие строковые значения непосредственно в базе данных, и эти изменения проходят правильно. Это просто логические значения, которые всегда ложны, независимо от того, что говорит база данных.

Любые идеи?

Правки

16.03.2020: 20:39 - Как было предложено @DanielRearden, я проверил вкладку сети, чтобы узнать, проблема ли это на стороне клиента или на стороне сервера. Похоже, я получаю ответ, содержащий значение true, но по-прежнему console.log ложно. Фото прикрепил ниже:

Вкладка "Сеть"

console.log


person Jacksonopp    schedule 17.03.2020    source источник
comment
Вряд ли это проблема клиента. Вы можете подтвердить, какой фактический ответ сервера вы получаете, проверив вкладку сети в инструментах разработчика вашего браузера. Если там все false, то это сервер, а не клиент.   -  person Daniel Rearden    schedule 17.03.2020
comment
@DanielRearden Хороший совет проверить вкладку сети. Я проверил ответ на запрос, и элементы, которые, как я ожидал, будут true, помечены как true, поэтому похоже, что это проблема клиента. Есть идеи, что делать дальше?   -  person Jacksonopp    schedule 17.03.2020
comment
Я лично никогда с таким не сталкивался. Определенно похоже на ошибку. Какие версии apollo-client и react-apollo вы используете?   -  person Daniel Rearden    schedule 17.03.2020
comment
"@apollo/react-hooks": "^3.1.3", "apollo-boost": "^0.4.7", "graphql": "^14.6.0", "graphql-tag": "^2.10.3", клиент - это сервер Hasura V.1.1.0   -  person Jacksonopp    schedule 17.03.2020
comment
apollo-boost использует "apollo-client": "^2.6.7",   -  person Jacksonopp    schedule 17.03.2020
comment
Лучшее, что я могу предложить, - это попробовать последнюю версию Apollo Client, которая на самом деле также включает в себя реагирующий API-интерфейс. Руководство по миграции находится здесь. В противном случае я в тупике: /   -  person Daniel Rearden    schedule 17.03.2020
comment
Хм, странно. Я попробую перейти на новейшую версию завтра, и, если она сработает, закрою этот вопрос. Спасибо за вашу помощь!   -  person Jacksonopp    schedule 17.03.2020


Ответы (1)


В соответствии с предложением @ DanielRearden я перешел на новую версию apollo-client, и она устранила все мои проблемы. Похоже, это была ошибка ¯\_(ツ)_/¯

person Jacksonopp    schedule 17.03.2020