javascript - ReactJs 不更新状态
问题描述
我有点困惑为什么我的这个功能不会像它应该的那样更新状态。我得到一个日期对象,然后将其转换为我想要的格式,但是当我尝试在最底部设置状态时,回调警报只是空白。
我怎样才能使它在此功能结束后立即更新状态?
floorLastCleanedChange(date) {
this.setState({ flooringLastCleanedTest: date });
var floorDate = new Date(date);
alert(floorDate);
var day = floorDate.getDate();
if(day.toString().length === 1)
{
day = '0' + day;
}
var month = floorDate.getMonth() + 1;
if(month.toString().length === 1)
{
month = '0' + month;
}
var year = floorDate.getFullYear();
alert(month+"/"+day+"/"+year);
this.setState({flooringLastCleaned: month+"/"+day+"/"+year}, alert(this.state.flooringLastCleaned));
}
解决方案
尝试这个。setState 的回调只是 a function
,您function call
在回调的代码中改为 a 。
setState(
{flooringLastCleaned: month+"/"+day+"/"+year},
() => alert(this.state.flooringLastCleaned);
);