首页 > 解决方案 > React Typescript:无法设置状态

问题描述

我有一个包含字符串的数组。我正在尝试使用该字符串并将其与另一个字符串连接。当我console.log('Dates: ' + mergedActions)把两根弦一起放回去时。但是,当我console.log('Dates: ' + this.state.MergedAllActions)它是空的。我尝试在控制台日志中添加超时,但仍然没有。

知道为什么mergedActions即使它包含信息也没有设置MergedAllActions吗?

let currentAction = 'Form has been submitted';
let mergedActions = this.state.Product[0].AllActions + ',' + currentAction;
this.setState({ MergedAllActions: mergedActions });
console.log('Dates: ' + mergedActions);  
console.log('Dates: ' + this.state.MergedAllActions);

下面的控制台:

Dates: first Step,First Approver accepted
Dates:

 

标签: javascriptreactjstypescriptstate

解决方案


setState 是异步的,但它支持回调作为第二个参数。改成

this.setState({ MergedAllActions: mergedActions }, console.log(this.state.MergedAllActions));

推荐阅读