【发布时间】:2020-12-18 20:04:05
【问题描述】:
状态的动态数量。状态的数量是动态的,取决于这个 mppt 数字,这取决于用户输入。我创建了状态,然后在 for 循环中创建了它们之后......我想用它做点什么。我通常会在回调中执行此操作,但我使用 for 循环来创建动态数量的状态。这将根据mppt 编号设置默认值和元素数量。之后,它将由onChange 更新。
const defaultValues = {
1:{
isc: 10.88,
power: 3834.5999999999995,
vmp: 497,
voc: 584.3312579999999,
se: 14,
st: 1,
},
2: {isc: 9.00,
power: 3834.5999999999995,
vmp: 600,
voc: 584.3312579999999,
se: 12,
st: 1},
}
const mppt = 2
.
.
.
componentDidMount(){
console.log('Sizing Mounted?')
for(let i=1 ; i <= mppt ; i++){
console.log(i)
this.setState({ [`${i}`] : defaultValues[i]}, ()=>{
console.log('state been set?')
console.log(this.state[`${i}`]) //this works
})
}
console.log('Check if state has been checked by here to feed into next function')
console.log(this.state[`1`]) // undefined
//This function uses the new set states
this.createElementDefaults() //uses undefined state values
}
setStates 的异步特性使这一点变得混乱。有什么建议吗?
【问题讨论】:
标签: reactjs asynchronous setstate