react+antd 點擊分頁爲上次操做結果

最近項目中在使用antd的分頁組件時發生了第一次點擊分頁無變化,再次點擊時數據爲上一次的分頁結果,代碼以下:react

setPageIndex = (pagination)=> {
    const pager = { ...this.state.pagination };             
    pager.current = pagination.current;
    this.setState({  
        pagination: pager, // 設置當前頁
    });
    this.getList();  // 獲取數據列表
}

在確認代碼無誤以後查閱react相關資料發現 :antd

經過this.setState({}) 進行賦值時不能保證是同步進行的。async

因而經過修改代碼使用asnyc + await 規避掉此問題:this

setPageIndex = async (pagination)=> {
    const pager = { ...this.state.pagination };             
    pager.current = pagination.current;
    await this.setState({  
        pagination: pager, // 設置當前頁
    });
    this.getList();  // 獲取數據列表
}
相關文章
相關標籤/搜索