2016-10-16 35 views
0

我有組件AddCarWash,它們顯示錶單以及提交此表單的時間,我將browserHistory.push(url)重定向到另一個組件AllCarWash。在重定向之前,我加入了REDEX商店message : 'CarWash was save successfully'。此消息將顯示在目標組件AllCarWash中。React-redux在顯示一次後刪除存儲中的數據

這個消息應該只顯示一次,並且在任何進一步的用戶操作中都不應該顯示。所以當我被展示時,我必須從redux商店中刪除數據。我怎樣才能做到這一點?在頁面的每個Link中放入resetMessageHandler或者有很多簡單的方法?

回答

0

這裏是你可以做什麼,當你在終極版收到消息上componentWillReceiveProps或ComponenetWillMount,那麼你可以設置方法的超時20-30sec和超時功能更新狀態

//sample code 
componentWillReceieveProps(props){ 
if(props.message){ 
    setTimeout(()=>{ 
    this.props.dispatch(removeMessageAction()) 
    },5000); 
} 
} 

同樣可以寫入componentWillMount函數,或者你也可以使用componentDidUpdate和componentDidMount方法

+0

它可以工作,但它有點不同的行爲,然後我想 –

+0

然後我有其他建議,設置一個標誌,當你收到道具中的味精和下一個如果標誌仍然設置,則呈現,然後刪除該消息,但是y你也應該使用時間,因爲兩次渲染可能會在某個時候發生 – abhirathore2006

相關問題