如何解决 TS2532 对象可能是“未定义”。用数组?

Sha*_*oon 7 typescript

我有:

interface CompanyInfoProps {
    data: Company;
}
Run Code Online (Sandbox Code Playgroud)

在哪里:

declare interface Company {
    /// some stuff
    id: string;
    companyAdmins?: CompanyAdmin[];
}
Run Code Online (Sandbox Code Playgroud)

我正在尝试这样做:

{data.companyAdmins[0].user.firstName}
Run Code Online (Sandbox Code Playgroud)

但我收到错误:

Object is possibly 'undefined'.  TS2532
Run Code Online (Sandbox Code Playgroud)

我尝试过{data.companyAdmins?.length > 0 && data!.companyAdmins[0]!.user?.firstName},但遇到了同样的错误。我究竟做错了什么?

Kos*_*nko 6

做这个:

{data.companyAdmins?.[0]?.user?.firstName}
Run Code Online (Sandbox Code Playgroud)