如何在路径中使用函数参数作为通配符?

addStorage函数应将收到的产品数量增加一倍。如果我在路径中对某些产品进行硬编码,则可以使用它,但是我不能在路径中使用“ receivedKey”作为通配符。有可能做还是应该以其他方式完成?

到目前为止,我已经尝试了storage2。{receivedkey} .amount,但是没有用。我尝试了使用方括号和googled的所有可能变体,但到目前为止没有任何效果。

// Adds product to storage
addStorage = receivedKey => {
    const storage2 = this.state.storage;
    storage2.coffeemaker.amount = storage2.coffeemaker.amount + 1;
    this.setState({ storage: storage2 });
};

最佳答案

您可以使用[] bracket notation

// Adds product to storage
addStorage = receivedKey => {
    const storage2 = this.state.storage;
    storage2[receivedKey].amount = storage2[receivedKey].amount + 1;
    this.setState({ storage: storage2 });
};

关于javascript - 我可以在this.state路径中使用函数参数作为通配符吗?例如this.state。{parameter} .value,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55560895/

10-09 18:37