【发布时间】:2021-10-15 01:19:57
【问题描述】:
我目前正在尝试使用next-auth 的会话通过用户 ID 获取一些数据:
const [session] = useSession();
useEffect(() => {
if (!session) {
return;
}
getProjects(session.user.id).then(setTeams);
}, [session]);
这工作正常,但不知何故最初被渲染两次。此外,更改选项卡并返回也会导致给定钩子的重新渲染。
仅供参考:我使用 SSR 并且已经在 getServerSideProps 中获取会话并将其传递给提供者,我认为这会导致在 init 上进行第二次重新渲染?
<Provider session={pageProps.session}>
<DataProvider>
<CustomThemeProvider>
<GlobalStyle />
<Navigation />
<Component {...pageProps} />
</CustomThemeProvider>
</DataProvider>
</Provider>
选项卡更改重新渲染来自哪里?
【问题讨论】: