(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
- All My Project is Gone
Hello everyone, please help. Why have all my projects suddenly disappeared? I received a warning via email about one of my projects being paused. When I clicked...
- CORS errors in Obsidian custom plugin
Hi, anyone here familiar with obsidian community plugins? In short: it's a local first note app which supports writing your own add-ons / plugin But I keep get...
- > AppwriteException: The requested servi...
When trying to read or write from my database I get the following error: > AppwriteException: The requested service is disabled. You can enable the service from...