If you have info capture enabled, the user can exist in an intermediate state where they are authenticated but haven’t finished the onboarding process. You can check if the user is authenticated but hasn’t finished onboarding by using the userWithMissingInfo property from the useDynamicContext hook. useIsLoggedIn tells you if the user has finished the whole onboarding process, but if you want to know if the user has authenticated but hasn’t finished the process, you can use [userWithMissingInfo] from the useDynamicContext hook. This will be undefined if the user is not authenticated or if they have finished the onboarding process and will contain the user object otherwise. Conversely, the user object from the same hook will be defined if the user is authenticated and has finished the onboarding process.
import { useDynamicContext, useIsLoggedIn } from '@dynamic-labs/sdk-react-core';

const MyComponent = () => {
  const isLoggedIn = useIsLoggedIn();
  const { userWithMissingInfo } = useDynamicContext();

  let message = "";

  if (userWithMissingInfo) {
    message = "You are authenticated but need to complete the onboarding process.";
  } else if (!isLoggedIn) {
    message = "Please log in to continue.";
  } else {
    message = "You are logged in!";
  }

  return (
    <div>
      <p>{message}</p>
    </div>
  );
};