I have a file called displayKeyHelpers.ts and the members.map
code is on line 118. The code works for most users and in QA as well but occasionally it seems members is undefined. I am looking at a crash report that says
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..
It seems like members in the function below is undefined. How can I add a check?
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
}
This is what I tried but it failed some unit tests so I am guessing that it is not right:
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
}
The function is used like this:
const memberOptions = memberDropdownOptions(members)
The members
argument that you are passing to memberDropdownOptions(members)
is not defined when the function is being called.
Is members
relying on some asynchronous logic to be given a value? Trace back to where it's being assigned a value, and make sure memberDropdownOptions()
only fires once it does have one.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.