1

我使用的是與服務器端渲染結合反應,路由器和終極版,簡單的路由器,當我瀏覽到像一個網址:提取物做出反應路由器狀態URL

routeActions.push({ pathname: '/main', state: 'some_state'}); 

我希望能夠到從請求中提取some_state,以便我可以呈現初始的重複狀態並將其發送回客戶端。如何從服務器端的請求中提取狀態?歷史和反應路由器放在哪裏?

這對手機來說特別重要,因爲我測試過的桌面不會觸發單獨的請求,但移動設備會這樣做,這意味着頁面會以新的初始狀態重新加載。

回答

0

state對應於state in the History API - 它與當前位置相關聯,但只在客戶端可用,所以如果您的應用需要支持服務器端呈現,則不適合傳遞任意數據。

如果您希望它在服務器上可用,則需要將其設置爲URL的一部分。也許作爲一個查詢字符串。

除了:位置狀態是在同構/通用的應用程序的其他方式,如繞過提交的表單數據來使用onEnter鉤來處理,或用於傳遞形式的數據和驗證錯誤使用重定向有用通過在相同場景中呈現無效表單來進行響應。