2 回答

TA貢獻(xiàn)1818條經(jīng)驗(yàn) 獲得超11個(gè)贊
您需要調(diào)用setState您的組件來(lái)顯示更改。this.state.builds.push(v[0]);不會(huì)觸發(fā)組件的更新。即使只是setState(this.state)在this.createChartObjects(groupedData)應(yīng)該工作之后。
此外,您的函數(shù)createChartObjects返回一個(gè)空數(shù)組,它可以返回一個(gè)您想要推送到您的狀態(tài)的圖表對(duì)象數(shù)組。
const chartObjects = this.createChartObjects(groupedData);
this.setState({
builds: this.state.builds.concat(chartObjects)
});
setState() 將組件狀態(tài)的更改加入隊(duì)列,并告訴 React 該組件及其子組件需要使用更新的狀態(tài)重新渲染。這是您用來(lái)更新用戶界面以響應(yīng)事件處理程序和服務(wù)器響應(yīng)的主要方法。
@Src https://reactjs.org/docs/react-component.html#setstate

TA貢獻(xiàn)1890條經(jīng)驗(yàn) 獲得超9個(gè)贊
您遇到的問(wèn)題是在狀態(tài)更新后您沒(méi)有觸發(fā)另一個(gè)渲染。你可以通過(guò)調(diào)用 setState() 來(lái)改變狀態(tài),而不是改變狀態(tài)對(duì)象。
你需要做的就是改變這個(gè):
this.state.builds.push(v[0]);
對(duì)此:
this.setState({ builds: this.state.builds.concat(v[0]) });
添加回答
舉報(bào)