【发布时间】:2021-11-14 10:44:45
【问题描述】:
在 SSR 期间的 Next.js 中,我从会话中获取用户对象和执行请求的客户端的 IP 地址。
return {
props: {
user,
ipAddress,
},
};
用户可以存在,但如果请求未经身份验证,它也可以是未定义的。我希望能够:
- 如果用户通过了身份验证,则运行使用
user.id并获取用户设置的 react-query 挂钩。 - 如果用户未通过身份验证,请提供我存储在配置文件中的默认设置值。
const LandingPage = ({
user,
ipAddress,
}: LandingPageProperties): JSX.Element => {
// User exist
const { config } = useGetOwnSettingsQuery(
{
endpoint: 'http://localhost:3000/api/graphql',
fetchParams: {
headers: setFetchHeaders(),
},
},
{ userWhere: { id: user?.id } },
);
// User does not exist
imported config from config.ts
return <LandingPageMap className="map" { config goes here }/>;
};
我真的不知道如何执行我想要的,如果我在 useEffect 中调用它们,钩子不喜欢,如果我提前返回检查用户是否存在,它们也不喜欢。
【问题讨论】:
标签: reactjs react-hooks next.js