我有一个Next.js应用程序,有多个页面。每个页面在屏幕顶部都有相同的栏,其中显示了一些数据,这些数据是使用SWR从内部API获取的。我遇到的问题是,要获取该数据,它需要登录用户的ID(他们通过next-auth不一致地登录),在他们离开第一页后,我不再可以访问该ID值。我已经厌倦了将它存储在本地存储和会话存储中,我尝试通过其他组件传递它,但都没有效果,我也不知道如何修复这个问题。有没有其他方法可以在页面之间传递值?或者,有没有办法让我再次访问会话数据?
next-auth
qcuzuvrc1#
如果在所有页面上都使用它,则只需将该标头添加到_app.{js,tsx}中(请参见docs)。如果没有,我建议您创建一个布局组件,并在这些页面中重复使用它。在未来,我们可能能够使用新的路由API,它允许为某些子路由添加布局组件。(有关更多信息,请查看Layout RFC)。
_app.{js,tsx}
jchrr9hc2#
因为Next js使用了Reaction库,所以您可以使用道具传递数据,也可以使用redux。像这样:<Component propName={value}/>
<Component propName={value}/>
2条答案
按热度按时间qcuzuvrc1#
如果在所有页面上都使用它,则只需将该标头添加到
_app.{js,tsx}
中(请参见docs)。如果没有,我建议您创建一个布局组件,并在这些页面中重复使用它。在未来,我们可能能够使用新的路由API,它允许为某些子路由添加布局组件。(有关更多信息,请查看Layout RFC)。
jchrr9hc2#
因为Next js使用了Reaction库,所以您可以使用道具传递数据,也可以使用redux。像这样:
<Component propName={value}/>