我正在使用以下内容: 反应:^ 16.6.3 => 16.6.3 反应本机:0.57.4 => 0.57.4 react-native-cli:2.0.1
我有这种生成动态状态的方法:
dynamicFreqState(ct,val)
{
obj = {};
obj['freq'+ct] = val;
this.setState(obj);
}
在另一种方法中,我将这样设置状态,其中this.state.case_counter
是映射循环中的增量状态,而res.freq_id
是响应res
的属性:
this.dynamicFreqState(this.state.case_counter,res.freq_id),
通过致电this.state.freq0
或this.state.freq1
没问题。问题是如何动态调用this.state.freq0
或this.state.freq1
?
答案 0 :(得分:0)
我通过创建另一种方法来完成此操作:
getStateIndex(ct)
{
obj = this.state;
res = 0;
Object.keys(obj).map(function (k){
if(k == 'freq'+ct){
res = obj[k];
}
});
return res;
}
当我要调用动态创建的状态时,我将插入以下行:
this.getStateIndex(this.state.counter);
虽然this.state.counter逐渐增加。