2017-07-17 68 views
4

例如,我有2個組件。在第一次我做服務器上的異步調用,並在派遣行動後,將響應放入Redux商店。在第二部分,我想等待響應來存儲和做一些工作後。如何等待數據減少

第一個部件看起來像

const response = await api.call(); // async call on server 
dispatch(putToTheStore(response)); // put data to the store 

第二部分看起來像

await props.response; // here i want to wait data come to store 

// and after it actually come to the store, do some work 

這可能嗎?

回答

4

如果使用react-reduxconnect函數將第二個組件連接到商店,則不需要執行任何顯式操作來更新組件。您添加到商店的數據將僅作爲prop提供給組件。

如果您需要(同步)對加載的數據執行一些操作,例如應用過濾器或進行一些排序,我會建議直接在mapStateToProps函數中執行此操作,因爲每次商店更新時都會自動調用此函數,以便爲您的組件計算新的props

如果您需要在第二個組件中做一些額外的工作,即根據以前的異步調用加載更多數據,則需要實現componentWillReceiveProps函數。

+0

componentWillReceiveProps - 忘了這個 –