#reactjs #next.js #supabase
Вопрос:
Я использую supabase и пытаюсь загрузить сеанс пользователя на стороне сервера. Если вы обновите страницу, она поймает, что пользователь есть, но не при первой загрузке (например, при переходе по волшебной ссылке). Как я могу убедиться, что он загрузится до того, как он откроет страницу?
Элемент списка
Вот эта страница:
import router from "next/router";
import { supabase } from "../utils/supabaseClient";
function Home() {
const user = supabase.auth.user()
if (user){
//router.push('/admin') failsafe, not ideal
}
return (
<div className="min-h-screen bg-elkblue dark:bg-dark-pri">
marketing
</div>
);
}
export async function getServerSideProps({ req }) {
const { user } = await supabase.auth.api.getUserByCookie(req);
if (user) {
return {
redirect: {
destination: "/admin",
permanent: false,
},
};
}
return {
props: { }, // will be passed to the page component as props
};
}
export default Home;
Комментарии:
1. Вы пробовали пройти
user
вgetServerSideProps
ответprops
?2. @juliomalves Да, это не имело значения
3. И я предполагаю, что вы изменили
Home
компонент, чтобы ожидатьuser
поддержки, т. Е.function Home({ user }) {
? Так что вы можете получить доступ к нему оттуда.4. @juliomalves Да, это не влияет на то, передается ли опора на самом деле или нет