在 react 中 用echarats ,用原生的方法寫如下:
也可以用 react 的寫法:
在寫的過程中遇到一個問題:剛開始用的一個 renderSaleAnalyseChart 這個方法,然後在 render 中調,然後在保存 這個 echarts 中的數據的時候出現了問題,銷售列表發生兩段數據值。
在這裏要注意,因爲 render 中是不能有 setState 這個寫法的。所以,我們可以在生命週期中寫,不需要在這個render 中調用方法。(componentWillReceiveProps(nextprops)。
爲什麼這個上y軸上的列表數據值不對呢?
錯誤效果圖:
錯誤代碼:
正確代碼:
首次進入組件的時候,this.props裏面有個loading狀態,一開始可以不用全部渲染出去,就先讓渲染個loading狀態的界面就好了,然後等componentWillReceiveProps的時候,更新了新的數據,loading false的時候,你就可以渲染整個新的界面了。
這個是redux裏面定義的。
就是你dispatch的時候,redux會給你個狀態, loading true基本上就是表示在加載, loading false就是加載完成,或者加載失敗,這個根據數據來判斷的。
所以你組件是直接從dispatch上拿的數據,也就是redux裏面,則首次只需要渲染個loading狀態的組件(去ant找),當loading false(數據加載完成),開始正式渲染界面。