ReactJS 在服务器端渲染时使用 cookie

ReactJS using cookie while rendering on server side

我正在开发一个网络应用程序,我使用 this starter kit 作为我项目的基础。问题是 cookie 在服务器端不可用,所以我不能用它来呈现服务器中的组件。

我使用react-cookie登录后保存账户数据

cookie.save('account', accountData)

并检索

var account = cookie.load('account')

在我需要的时候。我看到 cookie 已保存到浏览器中,我可以在加载组件后在客户端使用它,但我需要在服务器端使用它进行预渲染操作。

所以问题是如何实现?或者,如果 cookie 不是正确的方法,那么最好的方法是什么?

您在使用 cookie-parser 中间件吗?来自 react-cookie 文档:

You can also plug it directly with a Node.js request by adding just before the renderToString:

reactCookie.plugToRequest(req, res);

(require the cookieParser middleware)

除非您在 Express 应用程序中安装并启用了一些 cookie 解析中间件,否则 Express 不会解析获取 cookie 的请求。