react+mobx 使用 資料初始置空
阿新 • • 發佈:2018-12-16
問題:
react antd Tab頁切換,第一次都載入資料,之後切換都不載入。
根據請求介面返回的值是否有內容來判斷是否傳送請求。
lodash.isEmpty(arr) && this.getData()
但是路由跳轉後,應該元件是銷燬了,但在使用mobx的資料,有值之後就把值存在相應的物件中,導致再進去另一個item對應的詳情頁的時候,資料沒有改變,相應的物件保持著上次拿到的值。
所以物件有值,就沒有傳送請求。需要做的是,重新進來的時候,一定是要傳送請求的。
解決:
重新載入元件的時候,初始值為空
1、在元件銷燬函式componentWillUnmount()中,將資料置空
componentWillUnmount=()=>{
this.clearData();
}
2、元件初始化 constructor中 將資料置空
constructor(props){
super(props);
this.clearData();
}
置空方法 clearData() 就是再初始化一遍
@action
clearData = () => {
this.data = {};
}