以下代码片段

onQuantityChange(change: ProductQuantityChange) {
    const product = this.products.find(prod => {
      return change.product.id === prod.id;
    });
    product.quantityInCart += change.changeInQuantity;
}

向我返回一个 ts(18048) 'product' is possibly 'undefined'.

我想原因是product依赖于.find(),而.find()根本不能返回任何值.我怎么才能解决这个问题?

先谢谢你.

推荐答案

使用以下代码:

onQuantityChange(change: ProductQuantityChange) {
    const product = this.products.find(prod => prod.id === change.product.id);
    if (product)
        product.quantityInCart += change.changeInQuantity;
}

Typescript相关问答推荐

相同端点具有不同响应时的RTKQuery类型定义

使用前的组件渲染状态更新

动态判断TypScript对象是否具有不带自定义类型保护的键

如果请求是流,如何等待所有响应块(Axios)

Angular 错误NG0303在Angular 项目中使用app.Component.html中的NGFor

在实现自定义主题后,Angular 不会更新视图

为什么有条件渲染会导致material 自动完成中出现奇怪的动画?

等待用户在Angular 函数中输入

Select 下拉菜单的占位符不起作用

将带点的对象键重新映射为具有保留值类型的嵌套对象

在组件卸载时try 使用useEffect清除状态时发生冲突.react +打字

在打字脚本中对可迭代对象进行可变压缩

S,为什么我的T扩展未定义的条件在属性的上下文中不起作用?

在抽象类属性定义中扩展泛型类型

是否将Angular *ngFor和*ngIf迁移到新的v17语法?

如何在try 运行独立的文字脚本Angular 项目时修复Visual Studio中的MODULE_NOT_FOUND

在tabel管理区域react js上设置特定顺序

类型分布在第一个泛型上,但不分布在第二个泛型上

定义一个只允许来自另一个类型的特定字符串文字的类型的最佳方式

如何在Typescript 中定义具有相同类型的两个泛型类型的两个字段?