React中的函数:由于“只读”错误,我的函数无法正常工作。为什么?

问题描述 投票:0回答:2

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

未捕获错误:模块构建失败:SyntaxError:“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);
    }
reactjs function loops for-loop
2个回答
1
投票

发生这种情况是因为poductMap的类型是constconst不能通过重新分配来改变

改为将其改为letvar

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);
}

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


1
投票

使用let productMap={};而不是const

const声明创建对值的只读引用。

Reference

© www.soinside.com 2019 - 2024. All rights reserved.