Files
Jens Hauke 33a6bd439a Example react-user-management: Unsubscribe onAuthStateChange listener. (#27799)
Example react-user-management:
Unsubscribe the sb.auth.onAuthStateChange listener on component cleanup.
2024-07-04 16:24:24 +00:00

30 lines
720 B
React

import { useState, useEffect } from 'react'
import './App.css'
import { supabase } from './supabaseClient'
import Auth from './Auth'
import Account from './Account'
function App() {
const [session, setSession] = useState(null)
useEffect(() => {
supabase.auth.getSession().then(({ data: { session } }) => {
setSession(session)
})
const { data } = supabase.auth.onAuthStateChange((_event, session) => {
setSession(session)
})
return () => data.subscription.unsubscribe();
}, [])
return (
<div className="container" style={{ padding: '50px 0 100px 0' }}>
{!session ? <Auth /> : <Account key={session.user.id} session={session} />}
</div>
)
}
export default App