我最近开始将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
,该错误就会消失。