假设我有一个定义如下的类型:
type gridProps = {
itemsArrayFiltered: object[],
cardWidth: number,
cardHeight: number
}
And I have a React component like this:
const Grid =
({ itemsArrayFiltered, cardWidth = 280, cardHeight }: gridProps) =>
(whatever)
如果我在类型gridProps中不提供属性cardWidth,则会收到错误消息:
这是正确的,但问题是:提供默认值280不应该足够了吗?我觉得通过提供一个数字默认值并在类型gridProps中也写入数字来重复代码。有没有更好的方法可以避免这种情况?属性“cardWidth”在类型“gridProps”上不存在。ts(2339)
cardWidth
类型并将默认值设为你所做的方式是可以的。这不是重复的,因为一个是类型定义,另一个只是添加了默认值。只需在类型定义中添加一个Elvis运算符来标记它为可选项,例如cardWidth?: number
,这样TS就不会抱怨缺少属性了。这里有一个演示。 - AWolf