我在開發一個由圖表組件和一些其他組件組成的小型反應應用程序。圖表組件是一個單獨的文件/組件/子組件。當我點擊主容器中的按鈕時,它會調用一個承諾(使用axio)並返回一些數據作爲響應。此響應數據設置爲狀態,並將狀態作爲prop傳遞給圖表組件。但圖表無法加載。這是因爲圖表已經被加載,因爲初始狀態是空的圖表也是空的。只有在承諾返回數據後纔有任何方法來呈現圖表組件?從按鈕單擊事件渲染React組件
這是我的代碼
按鈕點擊事件
ClickMe =() =>{
axios.get('http://xyzsdsd.com/abc')
.then((response)=>{
this.setState({
tags:response.data
});
console.log(this.state.tags);
}).catch((err)=>{
console.log(err);
});
}
渲染功能
render(){
return(
<div>
<otherComponents/>
<chart data={this.state.tags}/>
</div>
);
}
如果你繼續以這種方式使用React,你會遇到無數的麻煩,你應該看看[Flux](https://facebook.github.io/flux/)和流行的實現/自適應[redux](http://redux.js.org/)。很多人認爲React是一個功能齊全的框架,比如Angular - 不是。 React是一個小型庫,可處理前端應用程序的特定部分。 React使您可以自由選擇其他工具來完成其他任務,如獲取數據,維護大型應用程序狀態,路由等。 – naomik