(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
- How to reduce DB Reads?
I just noticed that I hit the 500k db reads limit on my very small next js app with the most data being present in one collection having around 50 documents. ...
- Getting issue while migrating from Self ...
i try to migrating my project but when do this error come and dont allow to crate that migration
- Pending upload some file, but not for ot...
When upload this file, always got pending. But when I upload another file, it works. Why?
