我试图实现的是能够使用 setState 方法将对象设置为状态。但是我在这样做时面临一些困难。
这是我要达到的最终产品(状态)
state_class_mapping: {
{1} ,
rect: {
fill: "deepskyblue"
},
label: {
stroke: "white"
}
这些值是从不同的区域获得的,rect 和 label 在初始化时预设在我的状态中:
constructor(props) {
super(props)
this.state = {
selected_state: null,
state_class_mapping: {},
selected_state_class: { #<---- here
rect: {
fill: "deepskyblue"
},
label: {
stroke: "white"
}
},
default_state_class: { #<---- or here depending
rect: {
fill: "#dddd"
},
label: {
stroke: "black"
}
}
}
整数值实际上是我单击的对象的 ID。单击该对象后,我将运行一些函数来设置“selected_state”。
我的问题是我在创建 state_class_mapping 状态时遇到问题,因为它比设置静态键和值更复杂。
我设想的设置方式是:
this.setState({state_class_mapping:{
{this.state.selected_state},
{this.state.default_state_class}
})
}
}
但是我的编辑当然表明这样做是非法的。我可以知道这样做的正确方法是什么吗?