React 中的函数:由于“只读”错误,我的函数不起作用。为什么?

use*_*843 5 loops for-loop function reactjs

我正在尝试将一个函数写入 React 组件,但我遇到了这个错误:

未捕获的错误:模块构建失败:语法错误:“productMap”是只读的

为什么会这样?我该如何解决这个问题,以便我可以使用productMap

这是我的功能:

printReceipt() {
    var products = this.props.updateBasket.products;

    //create a map of products

    const productMap = {};
    for(let product of products) {
        if(!productMap[product.id]) {
            productMap[product.id] = 1;
        } else {
            productMap = productMap + 1; 
        }
    }
    console.log(productMap);
}
Run Code Online (Sandbox Code Playgroud)

Gal*_*puf 7

发生这种情况是因为poductMap属于类型const并且const无法通过重新分配来更改

将其更改为 aletvar代替

printReceipt() {
    var products = this.props.updateBasket.products;

    //create a map of products

    let productMap = {};
    for(let product of products) {
        if(!productMap[product.id]) {
            productMap[product.id] = 1;
        } else {
            productMap = productMap + 1; 
        }
    }
    console.log(productMap);
}
Run Code Online (Sandbox Code Playgroud)

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/const