Next.js中的会话管理

Sar*_*raz 4 javascript session session-cookies reactjs nextjs

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

GG.*_*GG. 8

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

这是一个例子

客户端

import jsCookie from 'js-cookie';

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

if (result.status === 200) {
  jsCookie.set('token', result.token);
}
Run Code Online (Sandbox Code Playgroud)

服务器端

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;
  }

}
Run Code Online (Sandbox Code Playgroud)

  • 不,它们是好的,您可以点击链接以获取更多信息。 (2认同)