Alt description missing in image
Beta: Plugins coming soon!

useSignIn()

import { useSignIn } from '@auth/clerk'
        • useSignIn()

Low-level Clerk sign-in resource with a universal import path. Prefer useSignInFlow() for a batteries-included flow with form state.

Usage

CustomSignIn.tsx
import { useSignIn } from '@auth/clerk'
 
export const CustomSignIn = () => {
    const { isLoaded, signIn, setActive } = useSignIn()
    const [email, setEmail] = useState('')
    const [password, setPassword] = useState('')
 
    const onSubmit = async () => {
        if (!isLoaded) return
        const attempt = await signIn.create({ identifier: email, password })
        if (attempt.status === 'complete') await setActive({ session: attempt.createdSessionId! })
    }
 
    return (
        <View>
            {/* ...inputs... */}
            <Button title="Sign in" onPress={onSubmit} />
        </View>
    )
}

API

Returned values (selection)

  • isLoaded: boolean — Whether the resource is ready.
  • signIn: SignInResource — Clerk sign-in resource.
  • setActive: (params) => Promise<void> — Set the active session.