我正在尝试使用变量名访问props中的状态数据。这是我到目前为止尝试过的,但没有奏效。
我想在道具中访问以下项目:
function mapStateToProps(state) {
return {
redCar: state.cars.redCar,
blueCar: state.cars.blueCar
}
}
红色和蓝色汽车都是这样的物体:
{
id: "red-car",
year: 2017,
make: "Infiniti",
model: "QX 80"
}
{
id: "blue-car",
year: 2018,
make: "RAM",
model: "1500"
}
我正在尝试使用下面的变量来访问make和model,但这些变量无效。我得到“未定义”:
handleChange(car, propertyName, value) {
const currentValue = this.props[car][propertyName];
}
如何使用变量名访问我的道具?
答案 0 :(得分:2)
for host in hostnames:
df_temp = df.loc[host]
df_temp = df_temp.subtract(df_temp.mean(axis=0))
df.loc[host] = df_temp
在此功能中,您指定您的道具上有名为function mapStateToProps(state) {
return {
redCar: state.cars.redCar,
blueCar: state.cars.blueCar
}
}
和redCar
的钥匙。
blueCar
在这里,您尝试使用括号表示法来访问该属性。括号表示法仅在传入括号的字符串拼写与键的名称完全相同时才有效,在您的情况下不是。该属性可以是handleChange(car, propertyName, value) {
const currentValue = this.props["car"]["propertyName"];
}
或redCar
,但不是blueCar
。
假设传递给"car"
函数的car
参数可以具有handleChange
或redCar
的值,您可以像这样重写代码,
blueCar
答案 1 :(得分:0)
car
变量的值是redCar
还是blueCar
?
然后你可以这样做:
handleChange(car, propertyName, value) {
const currentValue = this.props[car][propertyName];
}