Обзор
Я использую @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