开发者问题收集

TypeError:无法使用 reactjs 和 graphql 读取未定义的属性

2021-12-07
3159

我正在使用Ractjs,Mongoose,GraphQl和Apollo创建社交媒体。当我尝试从DB获取数据以显示在主页上时,我会遇到一个错误,说 typeError:无法读取未定义的属性(读取'getPosts') 。我搜索解决方案并尝试了很多事情,什么也没有奏效

文件structre

- client

----- node_modules

----- public

---- src

-------组件

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- >

--------- home.js

- graphQl

-----------------------------------

--------- imply.js

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- P>

---------用户.js

---- typedefs.js

- 模型

----- post.js

------------ user.js

home.js

700704479

posts.js

849815261

i console.log(data) 在实施数据之前:{getPosts:post posts} 它将对象顺利地返回对象,期望,但是此后该应用崩溃了。

2个回答

也许可以尝试这个:

const { loading, data } = useQuery(FETCH_POSTS_QUERY)
const { getPosts: posts } = {...data}

或者另一种方法是这样做:

const { loading, data: { getPosts: posts } = {} } = useQuery(FETCH_POSTS_QUERY)

如果它仍然不起作用,请告诉我下面的评论。

Mohammad Khan
2021-12-12

不要使用

const { loading, data: { getPosts: posts } } = useQuery(FETCH_POSTS_QUERY)

尝试这个:

const { loading, data } = useQuery(FETCH_POSTS_QUERY)

const posts = data?.getPosts
Mohamed Majilan
2022-07-20