【问题标题】:Session management in Next.jsNext.js 中的会话管理
【发布时间】:2018-08-27 17:49:21
【问题描述】:

我在我的 reactjs 项目中使用 nextjs。在 nextjs 中,在服务器端调用 getInitialProps() 来加载第一个页面,因此我们无法访问本地存储来获取会话。 我们如何使用 nextjs 正确管理会话。

【问题讨论】:

  • 利用像this这样的cookie

标签: javascript reactjs session session-cookies nextjs


【解决方案1】:

您可以使用 cookie 来存储会话。

这里是an example

客户端

import jsCookie from 'js-cookie';

const result = await api.login(user, pwd);

if (result.status === 200) {
  jsCookie.set('token', result.token);
}

服务器端

import jsHttpCookie from 'cookie';

class MyPage extends Component {

  static async getInitialProps({ req }) {
    const initProps = {};

    if (req && req.headers) {
      const cookies = req.headers.cookie;

      if (typeof cookies === 'string') {
        const cookiesJSON = jsHttpCookie.parse(cookies);

        initProps.token = cookiesJSON.token;
      }
    }

    return initProps;
  }

}

【讨论】:

  • 您似乎使用了错误的标题“服务器端”、“客户端”
  • 不,他们是好人,您可以点击链接了解更多信息。
猜你喜欢
  • 2011-04-03
  • 1970-01-01
  • 2010-10-29
  • 2017-05-21
  • 2016-04-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多