6.マイページ

NextJS

src/pages/mypage.js

import { useEffect, useState } from "react";
import { useRouter } from "next/router";
import { supabase } from "../lib/supabaseClient";

export default function Mypage() {
  const [user, setUser] = useState(null);
  const router = useRouter();

  useEffect(() => {
    const getUser = async() => {
      const { data } = await supabase.auth.getUser();
      if (!data.user) {
        router.push("/login");
      } else {
        setUser(data.user);
      }
    };
    getUser();
  }, []);

  return (
    <>
      {user && (
        <div>
          <p>{user.email}</p>
          <a href="/logout">ログアウト</a>
        </div>
      )}
    </>
  );
}
BACK