Skip to main content
Docs

useSignUp()

The useSignUp() hook provides access to the SignUp object, which allows you to check the current state of a sign-up attempt and manage the sign-up flow. You can use this to create a custom sign-up flow.

Returns

  • Name
    isLoaded
    Type
    boolean
    Description
  • Name
    setActive()
    Type
    (params: SetActiveParams) => Promise<void>
    Description

    A function that sets the active session.

  • Name
    signUp
    Type
    SignUp
    Description

    An object that contains the current sign-up attempt status and methods to create a new sign-up attempt.

How to use the useSignUp() hook

Check the current state of a sign-up

The following example uses the useSignUp() hook to access the SignUp object, which contains the current sign-up attempt status and methods to create a new sign-up attempt. The isLoaded property is used to handle the loading state.

src/pages/SignUpPage.tsx
import { useSignUp } from '@clerk/clerk-react'

export default function SignUpPage() {
  const { isLoaded, signUp } = useSignUp()

  if (!isLoaded) {
    // Handle loading state
    return null
  }

  return <div>The current sign-up attempt status is {signUp?.status}.</div>
}

Create a custom sign-up flow with useSignUp()

The useSignUp() hook can also be used to build fully custom sign-up flows, if Clerk's prebuilt components don't meet your specific needs or if you require more control over the authentication flow. Different sign-up flows include email and password, email and phone codes, email links, and multifactor (MFA). To learn more about using the useSignUp() hook to create custom flows, see the custom flow guides.

Feedback

What did you think of this content?

Last updated on