React如何在循环中记录不同的状态元素



我正试图循环遍历我的状态中的两个键值对。它们的名字非常相似,唯一的区别是一个以白天结束,另一个以夜晚结束。下面是我目前项目的一个简化示例。我的目标是让日志显示如下结果:

state = {
energyType: "Electricity",
meterRate: "oneRate",
firstEnergyAmountDay: 1,
firstEnergyAmountNight: 2,
}
let days
if (this.state.energyType === "Electricity" && this.state.meterRate === "twoRate") {
days = ["Day", "Night"]
} else {
days = ["Day"]
}
days.map(day => {
console.log(this.state.firstEnergyAmount + day);
})

现在我的日志刚刚返回:

未定义日

未定义的夜间

我想要日志给我:

1

2

要计算对象的属性,需要使用方括号和字符串

console.log(this.state["firstEnergyAmount" + day])

因此,这将把字符串连接在一起,生成"firstEnergyAmountDay""firstEnergyAmountNight",然后方括号将查找具有该键的属性。

最新更新