Skip to content

Instantly share code, notes, and snippets.

@PaulieScanlon
Created April 22, 2024 21:14
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save PaulieScanlon/64a5cc1950631b9b0bdc458ae1cf87d6 to your computer and use it in GitHub Desktop.
Save PaulieScanlon/64a5cc1950631b9b0bdc458ae1cf87d6 to your computer and use it in GitHub Desktop.
Example of server read-only component
// src/components/server-read-only-component.tsx
'use client';
import { useAtom } from 'jotai';
import { useHydrateAtoms } from 'jotai/utils';
import { userAtom } from '../state';
type Props = {
userData: {
isLoggedIn: boolean;
isAdmin: boolean;
};
};
export const ServerReadOnlyComponent: React.FunctionComponent<Props> = ({ userData }) => {
useHydrateAtoms([[userAtom, userData]]);
const [user] = useAtom(userAtom);
if (!user.isLoggedIn) return null;
return (
<>
{user.isAdmin ? <div>An admin feature</div> : null}
<pre>{JSON.stringify(user, null, 2)}</pre>
</>
);
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment