How do I fix the Object is possibly 'undefined' error message that appears when a property is defined as conditional within a interface.
I've tried the following:
- Using IF conditions
- Using the OR logical operator
- Using the keyword as
export interface ICourseContent {
id: number;
uid?: string;
text: ICourseContentElementText;
image?: ICourseContentElementImage;
}
export interface ICourseContentElementImage {
name: string;
uid?: string;
url: string;
alt?: string;
caption?: string;
}
static resetCourseContentUids(courseContents: ICourseContent[], courseContentIndex: number): ICourseContent[] {
if (courseContents[courseContentIndex].image) {
// Error appears here - TS2532: Object is possibly 'undefined'.
courseContents[courseContentIndex].image.uid = `${CourseContentElementType.IMAGE}-${UtilService.generateRandomString(10)}`;
}
courseContents[courseContentIndex].button.forEach((courseContentButton) => {
courseContentButton.uid = `${CourseContentElementType.BUTTON}-${UtilService.generateRandomString(10)}`;
});
return courseContents;
}