0
最近,我開始使用React構建一個單頁面應用程序,然後我拿起反應路由器來完成導航部分,但是當需要傳遞頁面之間的參數,我發現官方文檔的解決方案是將參數作爲查詢字符串或參數添加到URL中,這不是我所期望的(我想在傳統的POST方法中保留隱含的參數,與服務器通信)。好或壞,使用瀏覽器狀態傳遞參數歷史
一段時間谷歌搜索後,我找到了解決辦法,請撥打
browserHistory.push({
path : '/Paradise',
state : { location : 'Shangri-La'}
})
通過在browserHistory的狀態參數,並檢索使用
this.props.location.state.location
這工作正常的狀態,這正是我所期望的。我只想知道這是否是一個很好的做法。對不起,我的英文破碎了。
你的英語是絕對不破。但是,除非你真的給自己一個理由,爲什麼你認爲這種方法有什麼問題,或者它不適用於你,這幾乎是一個有見地的問題。到目前爲止,您正在質疑官方文檔中的某些內容,並且工作正常。去自己解釋:) – Gimby
同意@Gimby。你在做什麼是絕對好的。您正在使用位置狀態的方式。如果這是一個好習慣,則取決於整個應用程序。如果你只需要在幾頁之間發送一個狀態,那很好。但是,如果所有頁面都需要這樣做,我建議使用[tag:react-router-relay]查看[tag:react-redux]或[tag:relayjs]。這就是說,你的問題對於這個網站來說有點偏離主題,除了基本上是/否,這裏沒什麼可說的。希望有所幫助。 – Chris
謝謝@Gimby,快速回復。你的意思是說,這是一個官方的方法來操作狀態作爲參數容器,但是我沒有找到來自react-router或W3C html5的官方文檔,你有什麼參考? – Songva