Map 函数 - 未处理的 JS 异常:TypeError:undefined 不是评估 map 的对象
2021-10-25
128
我有一个名为 displayKeyHelpers.ts 的文件,
members.map
代码位于第 118 行。该代码适用于大多数用户和 QA,但偶尔似乎成员未定义。我正在查看一份崩溃报告,上面写着
displayKeyHelpers.ts, line 118
SIGABRT: Unhandled JS Exception: TypeError: undefined is not an object (evaluating 'n.map') This error is located at: in V in Unknown in Unknown in Unknown..
似乎下面函数中的成员未定义。我该如何添加检查?
export const memberDropdownOptions = (members: any): Option[] => {
const options: Option[] = []
members.map((member: Person) => {
options.push({
label: `${member.firstName} ${member.lastName}`,
value: member.dependentNumber,
})
})
return options
}
这是我尝试过的,但它在一些单元测试中失败了,所以我猜它不对:
export const memberDropdownOptions = (members: Person[]): Option[] => {
const options: Option[] = []
members?.map((member: Person) => {
options.push({
label: `${member?.firstName} ${member?.lastName}`,
value: member?.dependentNumber,
})
})
return options
}
该函数的使用方式如下:
const memberOptions = memberDropdownOptions(members)
1个回答
调用函数时,传递给
memberDropdownOptions(members)
的
members
参数未定义。
members
是否依赖某些异步逻辑来赋值?追溯到为其赋值的位置,并确保
memberDropdownOptions()
仅在有值时触发。
TehTriangle
2021-10-25