2016-10-18 69 views
2

我目前通過我的狀態上改變路線如下圖所示:如何清除頁面重新加載時react-router中的location.state?

<Link to={{ 
      pathname:`/transactions/${props.transaction.id}`, 
      state: {transaction: props.transaction} 
     }}> View Details </Link> 

我的邏輯是,如果「location.state.transaction」的存在,不獲取新的數據,否則,獲取數據。

現在的缺點是有一個頁面重新加載。如果用戶重新加載頁面,應用程序需要獲取新數據。我認爲如果有重新加載,「location.state」將被清除,但顯然狀態保存在sessionStorage中。

我該如何解決這個問題? 我每次只能獲取新數據,但當點擊'查看詳情'鏈接時它不應該獲取數據。

回答

1

在您使用該狀態後,再次分派一個空狀態的動作來清除狀態。

this.props.dispatch(replace({ 
    ...this.props.location, 
    state: undefined 
}); 
相關問題