开发者问题收集

未捕获的类型错误:传递 props 后无法读取未定义的属性“filter”。Reactjs

2020-03-31
82

我目前正在获取一些数据,我正在尝试对该数据的某些道具进行操作。

我正在尝试以这样的方式获取我的清单学生:

451882342

,然后,当我尝试通过 College> CollegeOpportunities 执行某些操作时,我会收到错误。我要运行的功能是:

240104810

on CollegeOpportunities.filter 我收到 无法读取未定义的 无法读取属性'过滤器'

对我来说,这似乎是一个异步问题,就像我在设置它们之前尝试访问 code> copersopportunities 。它实际上可能是或我该如何修复?

2个回答
setCollegeOpportunities(studentDetails.Opportunities)

setStudentDetails 异步更新状态。因此,上面一行中的 studentDetails 并不是您所期望的。它实际上执行的是 [].Opportunities ,这是 undefined

尝试以下操作。

setCollegeOpportunities(response.Opportunities)

确保键 Opportunities 存在于服务器响应中并且是一个数组。否则,在 filter 时,您会遇到 TypeError

Arun Kumar Mohan
2020-03-31

尝试:

(collegeOpportunities || []).filter(...
Danko
2020-03-31