【发布时间】:2021-10-11 06:27:32
【问题描述】:
在理解反应状态时遇到问题。我通过单击按钮将对象推送到输入字段中的多个值到数组中。 onClick 按钮应显示最新状态,但显示表单中先前的输入值。我该如何解决这个问题。
let addToList = ()=>{
let data={};
data.component=returnCmpName(SelCom);
data.question=question;
switch(SelCom){
case 1 : case 2:
data.required=checked;
data.errorMessage=errorMessage;
break;
case 3 : case 4 : case 5: data.options=NewList.slice(); break;
case 6:
data.fileAllowed=fileAllowed;
data.fileLimit=fileLimit;
break;
case 7: break;
case 8: break;
default:break;
}
rendcompState(prevData=>[data,...prevData])
console.log(rendComp)
}
【问题讨论】:
-
React 状态更新是异步处理的,因此尝试在更新入队后立即记录它只会记录当前渲染周期中的状态值,而不是在后续渲染中更新的状态值循环。
标签: javascript reactjs state