29/10/2022 - Aula 4 de Ruby (Remoto)
A aula começou um pouco atrasada pois o coordenador não apareceu para liberar o Google Meet para nós, mas o professor Mauricio utilizou uma conta dele para criar uma sala e nós entramos por lá.
Professor começou recapitulando a aula anterior e explicando novos itens do Next.js.
Começamos vendo sobre o useSWR
que é um hook que faz o cache de dados e faz o refresh deles quando necessário.
import useSWR from 'swr'
function Profile() {
const { data, error } = useSWR('/api/user', fetch)
if (error) return <div>failed to load</div>
if (!data) return <div>loading...</div>
return <div>hello {data.name}!</div>
}
Depois arrumamos a parte de autenticação na API e utilizamos o NextAuth
para fazer a autenticação.
import { signIn, signOut, useSession } from 'next-auth/client'
export default function Page() {
const [ session, loading ] = useSession()
return <>
{!session && <>
Not signed in <br/>
<button onClick={signIn}>Sign in</button>
</>}
{session && <>
Signed in as {session.user.email} <br/>
<button onClick={signOut}>Sign out</button>
</>}
</>
}
Depois disso, professor falou do trabalho, e ficou para ajudar quem tiver dúvidas.