0

React的新手,根據輸入的搜索詞和隨後選擇的過濾器構建一個搜索應用,在該應用中構建URL。我正在更新查詢字符串,而不是路徑,基於搜索項和選擇。 (例如/?term = movies & selections = action,adventure)我手動將這些更改通過Action Creators中的browserHistory.push()推送到查詢字符串中。我無法確定正確的模式來響應這些更新來保護應用程序狀態。React路由器 - 從查詢字符串構建狀態

我可以檢查componentWillMount()中的查詢字符串參數,在第一次呈現呈現初始狀態,並且工作正常,但是當使用瀏覽器後退/前進按鈕時,我不確定要重建的最佳模式國家。

我使用上反應的頂部以下模塊: 反應-終極版 反應路由器 反應路由器-終極版

忠告理解感謝。

回答

0

您需要檢查componentWillReceiveProps回調中的查詢。類似這樣的:

componentWillReceiveProps(nextProps) { 
    if (!_.isEqual(this.props.location.query, nextProps.location.query) { 
    this.fetchDataFromServer(nextProps.location.query); 
    } 
} 
+0

感謝kulesa,這個策略奏效。 – alanmac