(NextJS SSR) How to best check for a logged in user multiple client components deep?
- 0
- Auth
- Web
- Cloud

I have a client component deep in my navbar that needs to change depending on if the user is logged in or not. Using NextJS, I would normally check if user is authenticated from the parent server component like here: https://appwrite.io/docs/tutorials/nextjs-ssr-auth/step-4
However, since I need to check for the user many layers deep and update the component whenever the user logs in / logs out, I am at a loss on how to do this, since you cannot use context in a server component.
I thought about importing the getLoggedInUser
function from inside the component and do something like this
const [isLoggedIn, setIsLoggedIn] = useState(false)
useEffect(() => {
const fetchLoggedInUser = async () => {
const user = await getLoggedInUser()
setIsLoggedIn(!!user)
}
fetchLoggedInUser()
}, [])
But this only runs on the first render, and running this e.g. on every route change seems very inefficient. How would you do this?
Recommended threads
- Issue with github oauth in firefox brows...
Hello Guys i have setup appwrite auth (Email Password, Google and Github). All auth methods works fine on the chrome based browsers but it has a strange issue w...
- Change attributes of existing collection...
I'm trying to figure out how to add a new attribute to this empty collection, but the only prompt that shows up is the "create document." Nothing shows up in se...
- Sites - Tanstack start
Hi all do we know if sites will support deploying Tanstack start?
