gpt4 book ai didi

reactjs - React hooks Apollo Graphql bool 值总是返回 false

转载 作者:行者123 更新时间:2023-12-05 07:11:38 25 4
gpt4 key购买 nike

概览

我在 React TypeScript 应用程序中使用 @apollo/hooks,在 aws ec2 实例上使用 Hasura/Postgres。当我从 react 中查询数据库时,一个表中的所有 bool 值都返回为 false。通过在 Hasura GraphiQL 界面中进行相同的查询,我可以在数据库中确认它们并非都是假的。

更多详情

我正在尝试从只有 6 个字段的简单 postgres 表(没有外键、到其他表的链接等)中提取数据:

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
}
}

它正确返回所有值。最重要的是 bool 值是正确的。我的 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 钩子(Hook):

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) 或尝试以任何方式使用数据时,所有 bool 值都是 false,即使我可以在数据库,它们是真实的。我已经直接在数据库中更新了一些其他字符串值,并且这些更改正确通过。无论数据库说什么,它只是始终为假的 bool 值。

有什么想法吗?

编辑

03-16-2020:20:39 - 正如@DanielRearden 所建议的,我检查了网络选项卡以查看它是客户端问题还是服务器端问题。看起来我收到的响应包含 true 值,但 console.log 仍然为 false。我在下面附上了照片:

Network Tab

console.log

最佳答案

根据@DanielRearden 的建议,我迁移到了新的 apollo-client 版本,它解决了我所有的问题。看起来这是一个错误 ¯\_(ツ)_/¯

关于reactjs - React hooks Apollo Graphql bool 值总是返回 false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60714908/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com