我正在创建一个需要大量数据操作的React应用程序,并在单击按钮时尝试使用某些数据设置setState,因此这是唯一呈现的数据。一切正常,没有错误,但是状态没有改变。当我对数组变量中的数据进行硬编码时,它的确会将状态更改为我的硬编码内容。此功能已添加到“点击”按钮。当我在createClicks函数中尝试一条简单的警报消息时,该按钮的功能将起作用。
我尝试过更改变量的范围,但这似乎无济于事。我认为这可能与处理数据未运行的内部函数有关。
createClicks = () => {
const clicksArr = [];
const groupByProperties = ['date_start'];
const groupResult = groupBy({ Group: this.state.data, By: groupByProperties });
for (let i = 0; i < groupResult.length; i++) {
let clicks = groupResult[i].reduce((acc, curr) => acc + parseFloat(curr.clicks), 0);
clicksArr.push(clicks);
};
this.setState({
series: [
{
name: "Clicks",
data: clicksArr,
},
]
})
};
for循环和reduce函数会弹出[17894、18159、16696、14089、12919、12457、14783],但是当我设置“ data:clicksArr”时,状态并没有出现。如果我对“ const clicksArr = [17894,18159,16696,14089,12919,12457,14783]”进行硬编码,那么它将起作用。