这可能听起来像是一个愚蠢的问题,但我已经尽力尝试解决这个问题。我正在创建一个变量并将其添加到自定义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。
答案 0 :(得分:1)
res
对象在服务器上可用作getInitialProps
的参数。因此,使用上面的服务器代码,您可以执行
static async getInitialProps({res}) {
return { user: res.locals.user }
}
将其设为this.props.user
。