2017-03-10 108 views
0

我使用的反應URL查詢數據,並在一些網頁我是從網址傳輸數據,但問題是,當我想,直到有在網址中的其他查詢或參數數據持久化,如果URL的變化。 我如何實現這一目標?堅持reactjs

這是我的網址快照 enter image description here

我想查詢數據即IDX = 1堅持如果在URL目前,當我鏈接到salesfunnel我頁中的任何改變這樣 enter image description here

這樣

`

componentDidMount() { 
    var url = this.props.location.query; 
    this.setState({ 
     selid : parseInt(url.idx, 10) 
    }) 
    } 

'

,並在這種情況下,我失去了query.I想查詢應保持地方與我,如果我得到了一次,該數據應該只改變時,有用於例如,在URL的查詢一定的變化:如果IDX = 2,從IDX = 1。

如何能夠做到,在反應?

任何幫助非常感謝!

謝謝:)

+0

所以你解析參數並將其存儲在狀態..是什麼問題? – paqash

+0

你在使用反應路由器嗎?當url更改時,是否使用默認的瀏覽器更改,或者以某種方式使用JavaScript處理? – spirift

+0

問題是,我希望與我的數據,直到任何其他查詢例如。 (idx = 2)或類似的東西改變。如果我鏈接到其他頁面,那麼URL將會改變,但如果URL更改,我希望與我的數據。 –

回答

0

你能不能有條件地設置selid如:

componentDidMount() { 
    var url = this.props.location.query; 
    if (url.idx) { 
    // Only update `selid` when `idx` is a query param 
    this.setState({ 
     selid : parseInt(url.idx, 10) 
    }); 
    } 
} 

這種方式,你會持續整個頁面的變化值,直到一個新的頁面,設置一個新的用戶登陸idx

+0

不,我不能因爲如果我切換到另一個網頁,當我切換到這個頁面,我會失去以前的selid,我不能堅持現有selid –