1

我将 react-router 和 redux-simple-router 与服务器端渲染结合使用,当我导航到如下网址时:

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

我希望能够some_state从请求中提取,以便我可以呈现初始的 redux 状态并将其发送回客户端。如何从服务器端的请求中提取状态?history 和 react-router 放在哪里?

这对移动设备尤其重要,因为正如我测试过的,桌面设备不会触发单独的请求,但移动设备会触发,这意味着页面会以全新的初始状态重新加载。

4

1 回答 1

0

state对应于 History API 中的状态- 它与当前位置相关联,但它仅在客户端可用,因此如果您的应用需要支持服务器端渲染,它不适合传递任意数据。

如果您希望它在服务器上可用,则需要使其成为 URL 的一部分。也许作为查询字符串。

另外:位置状态在同构/通用应用程序中以其他方式很有用,例如传递要使用onEnter钩子处理的 POST 表单数据,或传递表单数据和验证错误以使用重定向转换通过呈现无效表单来响应同样的场景。

于 2016-01-18T20:25:29.673 回答