【发布时间】:2021-02-24 04:18:07
【问题描述】:
我确实尝试过搜索相同的问题,但所有这些问题都是有角度的或无关的,
我正在尝试使用 MongoDB、Express、React、Node、Graphql 和 Apollo 制作一个社交应用,我正在关注来自 freecodecamp 的视频:Link to the video 在那个视频中,一切正常,但在他部署的版本中,他遇到了和我一样的错误
react_devtools_backend.js:2450 类型错误:
无法读取未定义的属性“getPosts”
在 ae (Home.js:14) 在 Jo (react-dom.production.min.js:3274)
我的代码: 我正在删除一个指向我的 github 存储库的链接,其中包含整个项目:Link to github repo
Stack Overflow 引发了太多缩进问题,所以我在上面链接了我的 github 代码太多了
- 我正在使用语义 UI 进行样式设置
- 我正在使用 graphql 从 MongoDB 获取帖子
- 用于渲染数据的 Apollo 客户端
这是我在 Home.js 中遇到的错误: 错误截图:
【问题讨论】:
-
阅读文档! 'data' 可以在加载状态时未定义 ...
if(loading) { return "loading" };在主返回之前(以及解构或对更深层次的 'data' 属性的任何访问)可防止此类错误 -
ehhhh,查看网络选项卡 - 响应包含错误 - 错误数据,错误结果...
error也可以从钩子派生,并且应该像加载一样阻止渲染 -
对于 POST 应该是 200,总是……“不能为不可为空的字段 Post.username 返回 null。”第 54 项为空...渲染 jsoned 'posts'(或在返回之前插入'debugger')以检查它...禁用缩小,很难检查控制台中显示的点错误
-
if(data) console.log(posts);返回前
标签: reactjs graphql react-hooks apollo-client react-functional-component