我可以在this.state路径中使用函数参数作为通配符吗?例如this.state。{parameter} .value

时间:2019-04-07 15:54:29

标签: javascript reactjs

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

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

1 个答案:

答案 0 :(得分:1)

您可以使用[] bracket notation

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