React перехватывает булево значение Apollo Graphql, всегда возвращающее false - PullRequest
2 голосов
/ 17 марта 2020

Обзор

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

Подробнее

Я пытаюсь получить данные из простого postgres таблица (без внешних ключей, ссылки на другие таблицы и т. д. c), которая имеет только 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, хотя я могу видеть в базе данных, что они истинны. Я обновил некоторые другие строковые значения непосредственно в базе данных, и эти изменения проходят корректно. Это просто логические значения, которые всегда ложны, независимо от того, что говорит база данных.

Есть идеи?

Правки

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

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

console.log

1 Ответ

0 голосов
/ 17 марта 2020

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...