首页 > 解决方案 > 如何将 koa-session 数据传递给 NextJS 中的页面组件?

问题描述

在我的 NextJS 项目中,我使用koa+创建了一个自定义服务器koa-session,这样我就可以为每个请求获取一些会话数据,如下面的代码,


import next from "next";
import Koa from "koa";
import Session from "koa-session";
import Router from "koa-router";

...
const next_app = next({...});
const handle = next_app.getRequestHandler();

next_app.prepare().then(async () => {
  const server = new Koa();
  const router = new Router();
  server.use(Session(server));  // use koa-session middleware
  ...
  router.get("(.*)", async (ctx) => {
    console.log("server.js session: ", ctx.session);
    ...
    // create or update session data
    ctx.session.custom_data += 123;
    
    // but how to pass ctx.session to handle(), then to page components?
    await handle(ctx.req, ctx.res);
});

正如评论中所说,如何将ctx.session数据传递给页面组件?

标签: javascriptreactjsnext.jskoa

解决方案


推荐阅读