如何使用Flow定义可选数组prop的类型

时间:2019-09-06 17:50:45

标签: reactjs

我最近开始将Flow与React结合使用,以期使代码库更健壮。当我尝试使用Array type属性定义可选对象时,就会遇到此问题。

我为道具定义了以下类型。 -orderDetail是可选的 -礼物是一个对象数组,其结构类似于礼物类型

type Gift = {
  brand: string,
  gift: string,
  message: string,
}

type Props = {
  orderDetail?: {
    id: string,
    status: string,
    gifts: Array<Gift>
  },
  guest: string,
};

我有一个看起来像这样的组件

const OrderItem = ({ orderDetail, guest } : Props) => {
    ...
    const size = orderDetail.gifts.length;
} 

但是我收到这样的错误消息 Error:(39, 31) Cannot get 'orderDetail.gifts' because property 'gifts' is missing in undefined [1].我不确定自己做错了什么。欢迎所有帮助。

但是,如果我要求orderDetail,该错误就会消失。

0 个答案:

没有答案