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

IT技术 reactjs session-cookies
2021-04-29 21:13:58

我正在开发一个 Web 应用程序,我使用这个入门工具包作为我项目的基础。问题是 cookie 在服务器端不可用,所以我不能用它来渲染服务器中的组件。

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

cookie.save('account', accountData)

并检索

var account = cookie.load('account')

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

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

1个回答

你在使用cookie-parser中间件吗?react-cookie文档:

您还可以通过在 renderToString 之前添加来直接使用 Node.js 请求插入它:

reactCookie.plugToRequest(req, res);

(需要 cookieParser 中间件)

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