如何从页面脚本访问自定义响应值?

时间:2017-08-10 01:42:52

标签: nextjs

这可能听起来像是一个愚蠢的问题,但我已经尽力尝试解决这个问题。我正在创建一个变量并将其添加到自定义Express服务器文件中的响应对象中,如下所示:

server.get('*', (req, res) => {
   res.locals.user = req.user || null;
   handle(req, res);
});

现在我想从我的所有页面访问此 res.locals.user 对象,即 index.js about.js 等,以便在活动会话的用户凭证上保留一个选项卡。它可以通过某种方式实现,对吧?

PS:在NextJS Github页面上读取一些线程,我尝试从我的props对象中以this.props.user访问它,但即使服务器端console.log显示非空值,它也会一直返回null。

1 个答案:

答案 0 :(得分:1)

res对象在服务器上可用作getInitialProps的参数。因此,使用上面的服务器代码,您可以执行

static async getInitialProps({res}) {
    return { user: res.locals.user }
}

将其设为this.props.user