1. 程式人生 > >react+mobx 使用 資料初始置空

react+mobx 使用 資料初始置空

問題:

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 = {};
}